Darling: Build failing on Ubuntu 16.04.4 x64

Created on 3 Jun 2018  路  7Comments  路  Source: darlinghq/darling

I'm trying to run an apple pkg java library called iTMSTransporter on linux (anyone tried this?)

But, I can't get past the darling install. When I run make I getting a this pointer error:

/usr/local/darling/src/external/xcbuild/Libraries/pbxbuild/Sources/FileTypeResolver.cpp:34:70: error: default initialization of an object of const type 'const std::unordered_set'
(aka 'const unordered_set >') without a user-provided default constructor
const std::unordered_set emptySet;
^
{}
1 error generated.
src/external/xcbuild/Libraries/pbxbuild/CMakeFiles/pbxbuild.dir/build.make:158: recipe for target 'src/external/xcbuild/Libraries/pbxbuild/CMakeFiles/pbxbuild.dir/Sources/FileTypeResolver.cpp.o' failed
make[2]: * [src/external/xcbuild/Libraries/pbxbuild/CMakeFiles/pbxbuild.dir/Sources/FileTypeResolver.cpp.o] Error 1
CMakeFiles/Makefile2:4209: recipe for target 'src/external/xcbuild/Libraries/pbxbuild/CMakeFiles/pbxbuild.dir/all' failed
make[1]:
[src/external/xcbuild/Libraries/pbxbuild/CMakeFiles/pbxbuild.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *
* [all] Error 2

Build Unconfirmed

Most helpful comment

For Debian 9 it is necessary to install clang-4.0; the default clang package is 3.8.

The Debian install instructions on the wiki for build information should be updated for Debian 9:

apt-get install cmake clang-4.0 bison flex xz-utils libfuse-dev libudev-dev pkg-config libc6-dev-i386 linux-headers-amd64 libcap2-bin git libcairo2-dev libgl1-mesa-dev libtiff5-dev libfreetype6-dev libxml2-dev libegl1-mesa-dev libfontconfig1-dev libbsd-dev

the :i386 packages are not available with multilib, the requisite *-32 packages are installed with libc6-dev-i386

All 7 comments

I'm seeing this on Debian 9 with GCC 6.3.0

here's a diff

diff --git a/Libraries/pbxbuild/Sources/FileTypeResolver.cpp b/Libraries/pbxbuild/Sources/FileTypeResolver.cpp
index 0b978b07..935d7f55 100644
--- a/Libraries/pbxbuild/Sources/FileTypeResolver.cpp
+++ b/Libraries/pbxbuild/Sources/FileTypeResolver.cpp
@@ -31,8 +31,7 @@ SortedFileTypes(std::vector<pbxspec::PBX::FileType::shared_ptr> const &fileTypes
         if (fileType->base() != nullptr) {
             graph.insert(fileType->base(), { fileType });
         }
-        const std::unordered_set<pbxspec::PBX::FileType::shared_ptr> emptySet;
-        graph.insert(fileType, emptySet);
+        graph.insert(fileType, {{}});
     }

@Dekken GCC is not used for build, what's your version of Clang?

clang -v clang version 3.8.1-24 (tags/RELEASE_381/final) Target: x86_64-pc-linux-gnu Thread model: posix InstalledDir: /usr/bin Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6.3.0 Selected GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0 Candidate multilib: .;@m64 Candidate multilib: 32;@m32 Candidate multilib: x32;@mx32 Selected multilib: .;@m64

Turns out our build server actually uses Debian Testing (Clang 4.0.1) where the build works OK.

For Debian 9 it is necessary to install clang-4.0; the default clang package is 3.8.

The Debian install instructions on the wiki for build information should be updated for Debian 9:

apt-get install cmake clang-4.0 bison flex xz-utils libfuse-dev libudev-dev pkg-config libc6-dev-i386 linux-headers-amd64 libcap2-bin git libcairo2-dev libgl1-mesa-dev libtiff5-dev libfreetype6-dev libxml2-dev libegl1-mesa-dev libfontconfig1-dev libbsd-dev

the :i386 packages are not available with multilib, the requisite *-32 packages are installed with libc6-dev-i386

@senseisimple thanks for the package list, the wiki now includes instructions for Debian 9.

https://wiki.darlinghq.org/build_instructions

Was this page helpful?
0 / 5 - 0 ratings