/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' ------------------------------------------------------------------- This is an unstable amd64 chroot image at a tinderbox (==build bot) name: 17.1_desktop_plasma_systemd-j3-20210629-092836 ------------------------------------------------------------------- gcc-config -l: [1] x86_64-pc-linux-gnu-11.1.0 * clang version 12.0.0 Target: x86_64-pc-linux-gnu Thread model: posix InstalledDir: /usr/lib/llvm/12/bin /usr/lib/llvm/12 12.0.0 Python 3.9.6 Available Ruby profiles: (none found) Available Rust versions: [1] rust-bin-1.53.0 [2] rust-1.53.0 * The following VMs are available for generation-2: 1) IcedTea JDK 3.16.0 [icedtea-bin-8] *) AdoptOpenJDK 8.292_p10 [openjdk-bin-8] Available Java Virtual Machines: [1] icedtea-bin-8 [2] openjdk-bin-8 system-vm The Glorious Glasgow Haskell Compilation System, version 8.10.4 HEAD of ::gentoo commit 23055a0e434176e6f2dd6d1b77e545775f9c22ce Author: Repository mirror & CI <repomirrorci@gentoo.org> Date: Sat Jul 3 18:03:35 2021 +0000 2021-07-03 18:03:23 UTC emerge -qpvO dev-lang/zig [ebuild U ] dev-lang/zig-0.8.0 [0.7.1] USE="experimental -test%"
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(-)