Summary: | dev-lang/zig-0.8.1 - zig1:(.text+<snip>): undefined reference to LLVMInitializeAArch64Target | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Toralf Förster <toralf> |
Component: | Current packages | Assignee: | No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it <maintainer-needed> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | bowsingbetee, lssndrbarbieri, merrick, scott |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
emerge-info.txt
dev-lang:zig-0.8.0:20210703-185402.log emerge-history.txt environment etc.portage.tar.bz2 logs.tar.bz2 |
Description
Toralf Förster
2021-07-03 19:19:51 UTC
Created attachment 721309 [details]
emerge-info.txt
Created attachment 721312 [details]
dev-lang:zig-0.8.0:20210703-185402.log
Created attachment 721315 [details]
emerge-history.txt
Created attachment 721318 [details]
environment
Created attachment 721321 [details]
etc.portage.tar.bz2
Created attachment 721324 [details]
logs.tar.bz2
Are there any workarounds yet? [164/164] : && /usr/lib/ccache/bin/x86_64-pc-linux-gnu-g++ -march=skylake -mtune=skylake -mprefer-vector-width=128 -O2 -pipe -frecord-gcc-switches -ggdb -fvar-tracking-assignments -fno-omit-frame-pointer -ftrack-macro-expansion=2 -fstack-protector-all -Wno-trigraphs -fno-schedule-insns2 -fno-delete-null-pointer-checks -D_FORTIFY_SOURCE=2 -rdynamic -flifetime-dse=1 -Wl,-O1,--sort-common,--as-needed,-z,relro -rdynamic zig1.o CMakeFiles/zig.dir/src/stage1/empty.cpp.o -o zig -Wl,-rpath,/usr/lib/llvm/12/lib64: zigcpp/libzigstage1.a zigcpp/libopt_c_util.a zigcpp/libembedded_softfloat.a zigcpp/libzigcpp.a /usr/lib/llvm/12/lib64/libclang-cpp.so -llldDriver -llldMinGW -llldELF -llldCOFF -llldMachO -llldWasm -llldReaderWriter -llldCore -llldYAML -llldCommon /usr/lib/llvm/12/lib64/libLLVM-12.so -lpthread && : FAILED: zig : && /usr/lib/ccache/bin/x86_64-pc-linux-gnu-g++ -march=skylake -mtune=skylake -mprefer-vector-width=128 -O2 -pipe -frecord-gcc-switches -ggdb -fvar-tracking-assignments -fno-omit-frame-pointer -ftrack-macro-expansion=2 -fstack-protector-all -Wno-trigraphs -fno-schedule-insns2 -fno-delete-null-pointer-checks -D_FORTIFY_SOURCE=2 -rdynamic -flifetime-dse=1 -Wl,-O1,--sort-common,--as-needed,-z,relro -rdynamic zig1.o CMakeFiles/zig.dir/src/stage1/empty.cpp.o -o zig -Wl,-rpath,/usr/lib/llvm/12/lib64: zigcpp/libzigstage1.a zigcpp/libopt_c_util.a zigcpp/libembedded_softfloat.a zigcpp/libzigcpp.a /usr/lib/llvm/12/lib64/libclang-cpp.so -llldDriver -llldMinGW -llldELF -llldCOFF -llldMachO -llldWasm -llldReaderWriter -llldCore -llldYAML -llldCommon /usr/lib/llvm/12/lib64/libLLVM-12.so -lpthread && : /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1.o: in function `codegen.llvm.Object.initializeLLVMTargets': zig1:(.text+0x6d8a2): undefined reference to `LLVMInitializeAArch64Target' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d8ac): undefined reference to `LLVMInitializeARMTarget' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d8b1): undefined reference to `LLVMInitializeAVRTarget' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d8bb): undefined reference to `LLVMInitializeHexagonTarget' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d8c0): undefined reference to `LLVMInitializeLanaiTarget' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d8c5): undefined reference to `LLVMInitializeMipsTarget' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d8ca): undefined reference to `LLVMInitializeMSP430Target' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d8d4): undefined reference to `LLVMInitializePowerPCTarget' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d8d9): undefined reference to `LLVMInitializeRISCVTarget' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d8de): undefined reference to `LLVMInitializeSparcTarget' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d8e3): undefined reference to `LLVMInitializeSystemZTarget' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d8e8): undefined reference to `LLVMInitializeWebAssemblyTarget' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d8f2): undefined reference to `LLVMInitializeXCoreTarget' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d8f7): undefined reference to `LLVMInitializeAArch64TargetInfo' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d901): undefined reference to `LLVMInitializeARMTargetInfo' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d906): undefined reference to `LLVMInitializeAVRTargetInfo' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d910): undefined reference to `LLVMInitializeHexagonTargetInfo' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d915): undefined reference to `LLVMInitializeLanaiTargetInfo' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d91a): undefined reference to `LLVMInitializeMipsTargetInfo' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d91f): undefined reference to `LLVMInitializeMSP430TargetInfo' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d929): undefined reference to `LLVMInitializePowerPCTargetInfo' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d92e): undefined reference to `LLVMInitializeRISCVTargetInfo' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d933): undefined reference to `LLVMInitializeSparcTargetInfo' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d938): undefined reference to `LLVMInitializeSystemZTargetInfo' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d93d): undefined reference to `LLVMInitializeWebAssemblyTargetInfo' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d947): undefined reference to `LLVMInitializeXCoreTargetInfo' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d94c): undefined reference to `LLVMInitializeAArch64TargetMC' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d956): undefined reference to `LLVMInitializeARMTargetMC' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d95b): undefined reference to `LLVMInitializeAVRTargetMC' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d965): undefined reference to `LLVMInitializeHexagonTargetMC' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d96a): undefined reference to `LLVMInitializeLanaiTargetMC' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d96f): undefined reference to `LLVMInitializeMipsTargetMC' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d974): undefined reference to `LLVMInitializeMSP430TargetMC' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d97e): undefined reference to `LLVMInitializePowerPCTargetMC' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d983): undefined reference to `LLVMInitializeRISCVTargetMC' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d988): undefined reference to `LLVMInitializeSparcTargetMC' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d98d): undefined reference to `LLVMInitializeSystemZTargetMC' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d992): undefined reference to `LLVMInitializeWebAssemblyTargetMC' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d99c): undefined reference to `LLVMInitializeXCoreTargetMC' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d9a1): undefined reference to `LLVMInitializeAArch64AsmPrinter' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d9ab): undefined reference to `LLVMInitializeARMAsmPrinter' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d9b0): undefined reference to `LLVMInitializeAVRAsmPrinter' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d9ba): undefined reference to `LLVMInitializeHexagonAsmPrinter' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d9bf): undefined reference to `LLVMInitializeLanaiAsmPrinter' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d9c4): undefined reference to `LLVMInitializeMipsAsmPrinter' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d9c9): undefined reference to `LLVMInitializeMSP430AsmPrinter' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d9d3): undefined reference to `LLVMInitializePowerPCAsmPrinter' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d9d8): undefined reference to `LLVMInitializeRISCVAsmPrinter' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d9dd): undefined reference to `LLVMInitializeSparcAsmPrinter' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d9e2): undefined reference to `LLVMInitializeSystemZAsmPrinter' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d9e7): undefined reference to `LLVMInitializeWebAssemblyAsmPrinter' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d9f1): undefined reference to `LLVMInitializeXCoreAsmPrinter' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6d9f6): undefined reference to `LLVMInitializeAArch64AsmParser' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6da00): undefined reference to `LLVMInitializeARMAsmParser' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6da05): undefined reference to `LLVMInitializeAVRAsmParser' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6da0f): undefined reference to `LLVMInitializeHexagonAsmParser' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6da14): undefined reference to `LLVMInitializeLanaiAsmParser' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6da19): undefined reference to `LLVMInitializeMipsAsmParser' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6da1e): undefined reference to `LLVMInitializeMSP430AsmParser' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6da23): undefined reference to `LLVMInitializePowerPCAsmParser' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6da28): undefined reference to `LLVMInitializeRISCVAsmParser' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6da2d): undefined reference to `LLVMInitializeSparcAsmParser' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6da32): undefined reference to `LLVMInitializeSystemZAsmParser' /usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: zig1:(.text+0x6da37): undefined reference to `LLVMInitializeWebAssemblyAsmParser' collect2: error: ld returned 1 exit status ninja: build stopped: subcommand failed. * ERROR: dev-lang/zig-0.8.0::gentoo failed (compile phase): * ninja -v -j18 -l0 failed * If I do without 'experimental' then: # USE=-experimental emerge -av --getbinpkg=n --usepkg=n --deep=0 --with-bdeps=n --ask=n zig These are the packages that would be merged, in reverse order: Calculating dependencies ... done! emerge: there are no ebuilds built with USE flags to satisfy "sys-devel/llvm:12[llvm_targets_AArch64,llvm_targets_AMDGPU,llvm_targets_ARM,llvm_targets_AVR,llvm_targets_BPF,llvm_targets_Hexagon,llvm_targets_Lanai,llvm_targets_Mips,llvm_targets_MSP430,llvm_targets_NVPTX,llvm_targets_PowerPC,llvm_targets_RISCV,llvm_targets_Sparc,llvm_targets_SystemZ,llvm_targets_WebAssembly,llvm_targets_X86,llvm_targets_XCore]". !!! One of the following packages is required to complete your request: - sys-devel/llvm-12.0.1::gentoo (Change USE: +llvm_targets_AArch64 +llvm_targets_ARM +llvm_targets_AVR +llvm_targets_Hexagon +llvm_targets_Lanai +llvm_targets_MSP430 +llvm_targets_Mips +llvm_targets_PowerPC +llvm_targets_RISCV +llvm_targets_Sparc +llvm_targets_SystemZ +llvm_targets_WebAssembly +llvm_targets_XCore) (dependency required by "dev-lang/zig-0.8.0::gentoo[-experimental]" [ebuild]) (dependency required by "zig" [argument]) real 0m1.562s user 0m1.469s sys 0m0.094s So, does this mean it would work if I do that? as a workaround? Unless I'm missing something, things like LLVMInitializeAArch64TargetInfo[1] are unconditionally expected(by zig) of llvm to already have compiled in ! So, I don't understand what USE=experimental is supposed to do here other than not allow 'emerge' to warn you that your (system)llvm needs to have those USE flags that zig needs to get compiled! (those llvm_targets_* USE flags, seen below) [1] https://github.com/ziglang/zig/blob/81bf05bf6c1249c39273b494d3e337d300b4ddd5/src/codegen/llvm/bindings.zig#L314 So after recompiling llvm like: sys-devel/llvm-12.0.1::gentoo (Change USE: +llvm_targets_AArch64 +llvm_targets_ARM +llvm_targets_AVR +llvm_targets_Hexagon +llvm_targets_Lanai +llvm_targets_MSP430 +llvm_targets_Mips +llvm_targets_PowerPC +llvm_targets_RISCV +llvm_targets_Sparc +llvm_targets_SystemZ +llvm_targets_WebAssembly +llvm_targets_XCore) now 'zig' built, with USE=-experimental AND with USE=experimental (because of course it would now) I've even used dev-lang/zig-9999. Could that implicit +experimental maybe be turned off in zig.ebuild ? currently it's: IUSE="+experimental test" Or, if I'm missing something, please let me know! Thanks! experimental : Enable builds that do not support all of LLVM's target architectures It seems that zig is not ready for production. ci has reproduced this issue with version 0.8.1 - Updating summary. The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a9506d0fdd5713698e24b41ce4f6f5afea2bd7ad commit a9506d0fdd5713698e24b41ce4f6f5afea2bd7ad Author: Patrick Lauer <patrick@gentoo.org> AuthorDate: 2021-11-05 13:38:53 +0000 Commit: Patrick Lauer <patrick@gentoo.org> CommitDate: 2021-11-05 13:39:17 +0000 dev-lang/zig: Disable experimental useflag for newest Doesn't build otherwise, can't be fixed easily as upstream assumes full LLVM_TARGETS available Bug: https://bugs.gentoo.org/800206 Package-Manager: Portage-3.0.28, Repoman-3.0.3 Signed-off-by: Patrick Lauer <patrick@gentoo.org> dev-lang/zig/{zig-0.8.1.ebuild => zig-0.8.1-r1.ebuild} | 5 ++--- dev-lang/zig/zig-9999.ebuild | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) |