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

Reply via email to