Created attachment 742548 [details] Build log of libomp-13.0.0 Latest updates on ~amd64 and compilation of 'sys-libs/libomp-13.0.0' fails during configure. It is similar to https://bugs.gentoo.org/815715 but only covers the issue with 'llvm-lit', this one has been mainly created due to 'The dependency target "LLVMBinaryFormat" of target "elf_common" does not exist.' make.conf LLVM_TARGETS="AArch64 AMDGPU ARM AVR NVPTX RISCV WebAssembly X86" USE flags: sys-devel/llvm-13.0.0 USE="libffi ncurses xml z3 -debug -doc -exegesis -gold -libedit -test -xar" LLVM_TARGETS="AArch64 AMDGPU ARM AVR NVPTX RISCV WebAssembly (X86) (-ARC) -BPF (-CSKY) -Hexagon -Lanai (-M68k) -MSP430 -Mips -PowerPC -Sparc -SystemZ (-VE) -XCore" sys-devel/clang-13.0.0 USE="llvm-libunwind static-analyzer xml -debug -default-compiler-rt -default-libcxx -default-lld -doc -test" LLVM_TARGETS="AArch64 AMDGPU ARM AVR NVPTX RISCV WebAssembly (X86) (-ARC) -BPF (-CSKY) -Hexagon -Lanai (-M68k) -MSP430 -Mips -PowerPC -Sparc -SystemZ (-VE) -XCore" PYTHON_SINGLE_TARGET="python3_9 -python3_8 -python3_10" sys-devel/clang-runtime-13.0.0 [12.0.1] USE="compiler-rt libcxx openmp sanitize" sys-libs/libomp-13.0.0 [12.0.1] USE="cuda hwloc offload ompt -test" Log -- Cannot find llvm-lit. -- Please put llvm-lit in your PATH, set OPENMP_LLVM_LIT_EXECUTABLE to its full path, or point OPENMP_LLVM_TOOLS_DIR to its directory. CMake Warning at cmake/OpenMPTesting.cmake:22 (message): The check targets will not be available! Call Stack (most recent call first): cmake/OpenMPTesting.cmake:51 (find_standalone_test_dependencies) CMakeLists.txt:49 (include) ... -- Could NOT find LIBOMPTARGET_DEP_VEO (missing: LIBOMPTARGET_DEP_VEO_LIBRARIES LIBOMPTARGET_DEP_VEOSINFO_LIBRARIES LIBOMPTARGET_DEP_VEO_INCLUDE_DIRS): ... -- LIBOMPTARGET: Not building aarch64 offloading plugin: machine not found in the system. ... -- LIBOMPTARGET: Not building NVPTX deviceRTL: clang not found -- LIBOMPTARGET: Not building NVPTX deviceRTL: clang not found ... -- Configuring done CMake Error at libomptarget/plugins/common/elf_common/CMakeLists.txt:21 (add_dependencies): The dependency target "LLVMBinaryFormat" of target "elf_common" does not exist. CMake Error at libomptarget/plugins/common/elf_common/CMakeLists.txt:21 (add_dependencies): The dependency target "LLVMObject" of target "elf_common" does not exist.
(In reply to theaifam5 from comment #0) > The dependency target "LLVMBinaryFormat" of target "elf_common" does not > exist. > The dependency target "LLVMObject" of target "elf_common" does not exist. These libraries are part of sys-devel/llvm but they are not exported. That is why cmake is unable to find them. Hacking the llvm ebuild like this allows libomp to compile : --- /mnt/repos/gentoo/sys-devel/llvm/llvm-13.0.0.ebuild 2021-10-01 18:54:19.110648000 -0400 +++ /mnt/repos/fixes/sys-devel/llvm/llvm-13.0.0.ebuild 2021-10-03 15:32:20.936414000 -0400 @@ -204,6 +204,18 @@ LLVMDemangle LLVMSupport LLVMTableGen + + # libraries needed for libomp + LLVMBinaryFormat + LLVMBitReader + LLVMBitstreamReader + LLVMCore + LLVMDebugInfoCodeView + LLVMMC + LLVMMCParser + LLVMObject + LLVMRemarks + LLVMTextAPI ) if multilib_is_native_abi; then
Does it really build for you though? I'm getting a ton of errors such as: /tmp/portage/sys-libs/libomp-13.0.0/work/openmp/libomptarget/plugins/amdgpu/src/rtl.cpp:505:18: error: ‘AMDGPUGpuGridValues’ is not a member of ‘llvm::omp’; did you mean ‘AMDGPUGridValues64’? 505 | llvm::omp::AMDGPUGpuGridValues[llvm::omp::GVIDX::GV_Max_Teams]; | ^~~~~~~~~~~~~~~~~~~ | AMDGPUGridValues64 My totally random guess is that this release is seriously screwed up.
(In reply to Michał Górny from comment #2) > Does it really build for you though? I'm getting a ton of errors such as: > > /tmp/portage/sys-libs/libomp-13.0.0/work/openmp/libomptarget/plugins/amdgpu/ > src/rtl.cpp:505:18: error: ‘AMDGPUGpuGridValues’ is not a member of > ‘llvm::omp’; did you mean ‘AMDGPUGridValues64’? > 505 | llvm::omp::AMDGPUGpuGridValues[llvm::omp::GVIDX::GV_Max_Teams]; > | ^~~~~~~~~~~~~~~~~~~ > | AMDGPUGridValues64 > > > My totally random guess is that this release is seriously screwed up. Nevermind, the ebuild needs adjusting to use LLVM 13.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7c62a7a3872d8ebda89b4734d57f8fb780a70269 commit 7c62a7a3872d8ebda89b4734d57f8fb780a70269 Author: Michał Górny <mgorny@gentoo.org> AuthorDate: 2021-10-04 13:11:29 +0000 Commit: Michał Górny <mgorny@gentoo.org> CommitDate: 2021-10-04 13:20:13 +0000 sys-libs/libomp: Fix linking against LLVM w/ USE=offload Closes: https://bugs.gentoo.org/815853 Signed-off-by: Michał Górny <mgorny@gentoo.org> sys-libs/libomp/Manifest | 2 +- sys-libs/libomp/libomp-13.0.0.ebuild | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
(In reply to Michał Górny from comment #2) > Does it really build for you though? I'm getting a ton of errors such as: > It did work, though I realize mine was not an elegant solution.