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
const std::unordered_set
^
{}
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
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.
Most helpful comment
For Debian 9 it is necessary to install
clang-4.0; the defaultclangpackage 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-devthe :i386 packages are not available with multilib, the requisite *-32 packages are installed with libc6-dev-i386