Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 815853 - sys-libs/libomp-13.0.0 emerge fails (The dependency target "LLVMBinaryFormat" of target "elf_common" does not exist)
Summary: sys-libs/libomp-13.0.0 emerge fails (The dependency target "LLVMBinaryFormat"...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal major (vote)
Assignee: Bernard Cafarelli
URL: https://reviews.llvm.org/D111038
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-10-02 18:51 UTC by theaifam5
Modified: 2021-10-04 13:33 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Build log of libomp-13.0.0 (build.log,14.24 KB, text/x-log)
2021-10-02 18:51 UTC, theaifam5
Details

Note You need to log in before you can comment on or make changes to this bug.
Description theaifam5 2021-10-02 18:51:02 UTC
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.
Comment 1 cyrillic 2021-10-03 21:09:46 UTC
(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
Comment 2 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2021-10-04 06:24:31 UTC
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.
Comment 3 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2021-10-04 06:39:47 UTC
(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.
Comment 4 Larry the Git Cow gentoo-dev 2021-10-04 13:20:16 UTC
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(-)
Comment 5 cyrillic 2021-10-04 13:33:33 UTC
(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.