Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Cross-building with HAVE_LLVM fails



Cross-building NetBSD-current stopped working for me. I get

dependall ===> tools/llvm-lib/libLLVMSupport
While building module 'LLVM_Utils' imported from /dist/src/tools/llvm-lib/libLLVMSupport/../../llvm/../../external/apache2/llvm/lib/../dist/llvm/lib/Support/AArch64TargetParser.cpp:14:
In file included from <module-includes>:126:
/dist/src/tools/llvm-lib/libLLVMSupport/../../llvm/../../external/apache2/llvm/lib/../dist/llvm/include/llvm/Support/Chrono.h:79:30: error: missing '#include <ratio>'; 'ratio' must be declared before it is used
template <> struct unit<std::ratio<3600>> { static const char value[]; };
                             ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/ratio:250:28: note: declaration here is not visible
class _LIBCPP_TEMPLATE_VIS ratio
                           ^
/dist/src/tools/llvm-lib/libLLVMSupport/../../llvm/../../external/apache2/llvm/lib/../dist/llvm/lib/Support/AArch64TargetParser.cpp:14:10: fatal error: could not build module 'LLVM_Utils'
#include "llvm/Support/AArch64TargetParser.h"
 ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 errors generated.
--- AArch64TargetParser.lo ---

*** Failed target: AArch64TargetParser.lo
*** Failed commands:
	${_MKTARGET_COMPILE}
	=> @# "compile " libLLVMSupport/AArch64TargetParser.lo
	${HOST_COMPILE.cc} -o ${.TARGET}.o ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC}
	=> /usr/bin/clang++ -O2 -mcpu=native -fno-stack-protector -O2 -fno-rtti -fno-exceptions -fno-strict-aliasing -fmodules -fcxx-modules -Werror=incomplete-umbrella  -fmodules-validate-system-headers  -Xclang -fmodules-local-submodule-visibility  -fmodules-cache-path=/tmp/pkgsrc/obj.amd64/tools/llvm/module.cache  -I. -I/dist/src/tools/llvm-lib/libLLVMSupport/../../llvm/../../external/apache2/llvm/lib/../dist/clang/include -I/dist/src/tools/llvm-lib/libLLVMSupport/../../llvm/../../external/apache2/llvm/lib/../dist/llvm/include -I/tmp/pkgsrc/obj.amd64/tools/llvm-include -I/tmp/pkgsrc/obj.amd64/tools/llvm/config/include -I/tmp/pkgsrc/obj.amd64/tools/llvm/config/tools/clang/include -std=c++14 -std=c++14 -c -o AArch64TargetParser.lo.o    /dist/src/tools/llvm-lib/libLLVMSupport/../../llvm/../../external/apache2/llvm/lib/../dist/llvm/lib/Support/AArch64TargetParser.cpp
	${MV} ${.TARGET}.o ${.TARGET}
	=> mv -f AArch64TargetParser.lo.o AArch64TargetParser.lo


Adding #include <ratio> to Chrono.h helps. It would probably need to be wrapped in #ifdef.

Then, there is a problem building libm:

error: log2l changed binding to STB_GLOBAL
error: log1pl changed binding to STB_GLOBAL
error: expm1l changed binding to STB_GLOBAL
error: lgammal changed binding to STB_GLOBAL
error: tgammal changed binding to STB_GLOBAL


I don't know how to fix that one.

Please, advise.

Kind regards,
Adam


Home | Main Index | Thread Index | Old Index