Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug#1021117: llvm-15-dev: cmake fails on missing /usr/lib/llvm-15/bin/mlir-tblgen

260 views
Skip to first unread message

Andreas Beckmann

unread,
Oct 2, 2022, 10:10:04 AM10/2/22
to
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

Andreas Beckmann

unread,
Oct 4, 2022, 7:00:04 AM10/4/22
to
Control: tag -1 - unreproducible
Control: severity -1 serious

It actually works with llvm-15-dev/sid (and I inadvertently switched to
building spirv-llvm-translator-15 in sid instead of experimental, no
longer experiencing the failure), but fails with llvm-15-dev/experimental.

A minimal CMakeLists.txt to reproduce the problem, could be used for
an autopkgtest:

cmake_minimum_required(VERSION 3.0)
project(find_llvm C CXX)
find_package(LLVM REQUIRED)
message(STATUS "Found LLVM: ${LLVM_VERSION}")

===== llvm-15-dev/experimental =====
-- The C compiler identification is GNU 12.2.0
-- The CXX compiler identification is GNU 12.2.0
CMakeLists.txt:5 (find_package)


-- Configuring incomplete, errors occurred!
===========

===== llvm-15-dev/sid =====
-- The C compiler identification is GNU 12.2.0
-- The CXX compiler identification is GNU 12.2.0
-- 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
-- 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
-- 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")
-- Found LLVM: 15.0.0
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/tmp.jErBGkRUrA
===========

Andreas

PS: In some packages I use an autopkgtest like this to test cmake bits:

Test-Command: cmake -Wno-dev -S debian/tests/cmake-find-FOO -B $AUTOPKGTEST_TMP
Features: test-name=cmake_find_package_FOO
Depends:
libFOO-dev,
cmake,
g++,
Restrictions:
superficial,

Mathieu Malaterre

unread,
Nov 28, 2022, 2:50:03 AM11/28/22
to
> Fixed since 1:15.0.2-2~exp4

Seems it came back:

* https://buildd.debian.org/status/fetch.php?pkg=openvdb&arch=riscv64&ver=10.0.0-6&stamp=1669407006&raw=0

CMake Error at /usr/lib/llvm-15/lib/cmake/llvm/LLVMExports.cmake:1631 (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:328 (include)
openvdb_ax/openvdb_ax/CMakeLists.txt:105 (find_package)

And it seems it was present in 14.x series:


* https://buildd.debian.org/status/fetch.php?pkg=openvdb&arch=x32&ver=10.0.0-6&stamp=1669406822&raw=0

CMake Error at /usr/lib/llvm-14/lib/cmake/llvm/LLVMExports.cmake:1598 (message):
The imported target "mlir-tblgen" references the file

"/usr/lib/llvm-14/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-14/lib/cmake/llvm/LLVMExports.cmake"

Mathieu Malaterre

unread,
Nov 28, 2022, 3:00:04 AM11/28/22
to
Control: fixed -1 1:15.0.2-2~exp4
Control: fixed -1 1:15.0.3-1

Ok nevermind I see that the issue is still in riscv64. But I do not
understand why I see in llvm-14...
0 new messages