Bug#1021117: llvm-15-dev: cmake fails on missing /usr/lib/llvm-15/bin/mlir-tblgen
Andreas Beckmann
anbe at debian.org
Sun Oct 2 15:04:52 BST 2022
Package: llvm-15-dev
Version: 1:15.0.1-1~exp2
Severity: serious
Hi,
while trying to package spirv-llvm-translator-15, I encountred the
following cmake error:
dh_auto_configure -- \
-DCMAKE_SKIP_RPATH=ON \
-DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=/usr/include \
-DBUILD_SHARED_LIBS=ON \
-DLLVM_SPIRV_INCLUDE_TESTS=ON \
-DLLVM_EXTERNAL_LIT=/usr/lib/llvm-15/build/utils/lit/lit.py \
-Wno-dev
cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_SYSCONFDIR=/etc -DCMAKE_INSTALL_LOCALSTATEDIR=/var -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON -DCMAKE_FIND_USE_PACKAGE_REGISTRY=OFF -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON -DFETCHCONTENT_FULLY_DISCONNECTED=ON -DCMAKE_INSTALL_RUNSTATEDIR=/run -DCMAKE_SKIP_INSTALL_ALL_DEPENDENCY=ON "-GUnix Makefiles" -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_SKIP_RPATH=ON -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=/usr/include -DBUILD_SHARED_LIBS=ON -DLLVM_SPIRV_INCLUDE_TESTS=ON -DLLVM_EXTERNAL_LIT=/usr/lib/llvm-15/build/utils/lit/lit.py -Wno-dev ..
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.0")
-- Using SPIR-V Headers from
/usr/include
-- The CXX compiler identification is GNU 12.2.0
-- The C compiler identification is GNU 12.2.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Performing Test HAVE_FFI_CALL
-- Performing Test HAVE_FFI_CALL - Success
-- Found FFI: /usr/lib/x86_64-linux-gnu/libffi.so
-- Performing Test Terminfo_LINKABLE
-- Performing Test Terminfo_LINKABLE - Success
-- Found Terminfo: /usr/lib/x86_64-linux-gnu/libtinfo.so
-- Could NOT find ZLIB (missing: ZLIB_LIBRARY ZLIB_INCLUDE_DIR)
-- Found LibXml2: /usr/lib/x86_64-linux-gnu/libxml2.so (found version "2.9.14")
CMake Error at /usr/lib/llvm-15/lib/cmake/llvm/LLVMExports.cmake:1634 (message):
The imported target "mlir-tblgen" references the file
"/usr/lib/llvm-15/bin/mlir-tblgen"
but this file does not exist. Possible reasons include:
* The file was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and contained
"/usr/lib/llvm-15/lib/cmake/llvm/LLVMExports.cmake"
but not all the files it references.
Call Stack (most recent call first):
/usr/lib/llvm-15/cmake/LLVMConfig.cmake:329 (include)
CMakeLists.txt:82 (find_package)
-- Configuring incomplete, errors occurred!
The corresponding find_package() call is
...
if(NOT DEFINED BASE_LLVM_VERSION)
set (BASE_LLVM_VERSION 15.0.0)
endif(NOT DEFINED BASE_LLVM_VERSION)
...
if(LLVM_SPIRV_INCLUDE_TESTS)
set(LLVM_TEST_COMPONENTS
llvm-as
llvm-dis
)
endif(LLVM_SPIRV_INCLUDE_TESTS)
find_package(LLVM ${BASE_LLVM_VERSION} REQUIRED
COMPONENTS
Analysis
BitReader
BitWriter
CodeGen
Core
Passes
Support
TransformUtils
${LLVM_TEST_COMPONENTS}
)
...
This works fine with llvm-14 and spirv-llvm-translator-14.
If I work around this by adding a B-D: mlir-15-tools, the next problem is
CMake Error at /usr/lib/llvm-15/lib/cmake/llvm/LLVMExports.cmake:1634 (message):
The imported target "MLIRSupportIndentedOstream" references the file
"/usr/lib/llvm-15/lib/libMLIRSupportIndentedOstream.a"
but this file does not exist. Possible reasons include:
* The file was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and contained
"/usr/lib/llvm-15/lib/cmake/llvm/LLVMExports.cmake"
but not all the files it references.
Call Stack (most recent call first):
/usr/lib/llvm-15/cmake/LLVMConfig.cmake:329 (include)
CMakeLists.txt:82 (find_package)
-- Configuring incomplete, errors occurred!
Next one is
CMake Error at /usr/lib/llvm-15/lib/cmake/llvm/LLVMExports.cmake:1634 (message):
The imported target "sancov" references the file
"/usr/lib/llvm-15/bin/sancov"
but this file does not exist. Possible reasons include:
* The file was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and contained
"/usr/lib/llvm-15/lib/cmake/llvm/LLVMExports.cmake"
but not all the files it references.
Call Stack (most recent call first):
/usr/lib/llvm-15/cmake/LLVMConfig.cmake:329 (include)
CMakeLists.txt:82 (find_package)
-- Configuring incomplete, errors occurred!
and now I'm stopping chasing missing dependencies.
Perhaps the cmake bits could be tested in an autopkgtest?
>From the llvm-toolchain-15 changelog I do not see any packaging changes
that might have caused this.
The spirv-llvm-translator packaging can be found in
https://salsa.debian.org/opencl-team/spirv-llvm-translator.git
branches llvm14/main and llvm15/main.
Andreas
PS: it might be a good idea to embed spirv-llvm-translator-xx in
src:llvm-toolchain-xx and build it from there
More information about the Pkg-llvm-team
mailing list