[Pkg-opencl-devel] Bug#1097919: spirv-llvm-translator-17: ftbfs with GCC-15
Matthias Klose
doko at debian.org
Mon Feb 17 17:54:38 GMT 2025
Package: src:spirv-llvm-translator-17
Version: 17.0.8-1
Severity: important
Tags: sid forky
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-15
[This bug is NOT targeted to the upcoming trixie release]
Please keep this issue open in the bug tracker for the package it
was filed for. If a fix in another package is required, please
file a bug for the other package (or clone), and add a block in this
package. Please keep the issue open until the package can be built in
a follow-up test rebuild.
The package fails to build in a test rebuild on at least amd64 with
gcc-15/g++-15, but succeeds to build with gcc-14/g++-14. The
severity of this report will be raised before the forky release.
The full build log can be found at:
http://qa-logs.debian.net/2025/02/16/amd64exp/spirv-llvm-translator-17_17.0.8-1_unstable_gccexp.log.gz
The last lines of the build log are at the end of this report.
To build with GCC 15, either set CC=gcc-15 CXX=g++-15 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.
apt-get -t=experimental install g++
GCC 15 now defaults to the C23/C++23 standards, exposing many FTBFS.
Other Common build failures are new warnings resulting in build failures
with -Werror turned on, or new/dropped symbols in Debian symbols files.
For other C/C++ related build failures see the porting guide at
http://gcc.gnu.org/gcc-15/porting_to.html
[...]
| ~~~~~~~~~~~~~~~~~~~~~~~~
105 | });
| ~~
/usr/include/c++/15/bits/range_access.h:79:24: error: ‘class llvm::SmallVector<std::pair<unsigned int, llvm::MDNode*>, 2>’ has no member named ‘end’
79 | -> decltype(__cont.end())
| ~~~~~~~^~~
/usr/lib/llvm-17/include/llvm/ADT/ADL.h: In substitution of ‘template<class RangeT> constexpr decltype (std::end(forward<RangeT>(range))) llvm::adl_detail::end_impl(RangeT&&) [with RangeT = llvm::SmallVector<std::pair<unsigned int, llvm::MDNode*>, 2>&]’:
/usr/lib/llvm-17/include/llvm/ADT/ADL.h:71:37: required by substitution of ‘template<class RangeT> constexpr decltype (llvm::adl_detail::end_impl(forward<RangeT>(range))) llvm::adl_end(RangeT&&) [with RangeT = llvm::SmallVector<std::pair<unsigned int, llvm::MDNode*>, 2>&]’
71 | -> decltype(adl_detail::end_impl(std::forward<RangeT>(range))) {
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/llvm-17/include/llvm/ADT/STLExtras.h:1777:50: required from ‘auto llvm::remove_if(R&&, UnaryPredicate) [with R = SmallVector<std::pair<unsigned int, MDNode*>, 2>&; UnaryPredicate = IRBuilderBase::AddOrRemoveMetadataToCopy(unsigned int, llvm::MDNode*)::<lambda(const std::pair<unsigned int, MDNode*>&)>]’
1777 | return std::remove_if(adl_begin(Range), adl_end(Range), P);
| ~~~~~~~^~~~~~~
/usr/lib/llvm-17/include/llvm/ADT/STLExtras.h:2032:20: required from ‘void llvm::erase_if(Container&, UnaryPredicate) [with Container = SmallVector<std::pair<unsigned int, MDNode*>, 2>; UnaryPredicate = IRBuilderBase::AddOrRemoveMetadataToCopy(unsigned int, llvm::MDNode*)::<lambda(const std::pair<unsigned int, MDNode*>&)>]’
2032 | C.erase(remove_if(C, P), C.end());
| ~~~~~~~~~^~~~~~
/usr/lib/llvm-17/include/llvm/IR/IRBuilder.h:103:15: required from here
103 | erase_if(MetadataToCopy, [Kind](const std::pair<unsigned, MDNode *> &KV) {
| ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
104 | return KV.first == Kind;
| ~~~~~~~~~~~~~~~~~~~~~~~~
105 | });
| ~~
/usr/include/c++/15/initializer_list:101:5: note: candidate 6: ‘template<class _Tp> constexpr const _Tp* std::end(initializer_list<_Tp>)’
101 | end(initializer_list<_Tp> __ils) noexcept
| ^~~
/usr/include/c++/15/initializer_list:101:5: note: template argument deduction/substitution failed:
/usr/lib/llvm-17/include/llvm/ADT/ADL.h:36:20: note: ‘llvm::SmallVector<std::pair<unsigned int, llvm::MDNode*>, 2>’ is not derived from ‘std::initializer_list<_Tp>’
36 | -> decltype(end(std::forward<RangeT>(range))) {
| ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/llvm-17/include/llvm/ADT/STLExtras.h: In instantiation of ‘void llvm::erase_if(Container&, UnaryPredicate) [with Container = SmallVector<std::pair<unsigned int, MDNode*>, 2>; UnaryPredicate = IRBuilderBase::AddOrRemoveMetadataToCopy(unsigned int, llvm::MDNode*)::<lambda(const std::pair<unsigned int, MDNode*>&)>]’:
/usr/lib/llvm-17/include/llvm/IR/IRBuilder.h:103:15: required from here
103 | erase_if(MetadataToCopy, [Kind](const std::pair<unsigned, MDNode *> &KV) {
| ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
104 | return KV.first == Kind;
| ~~~~~~~~~~~~~~~~~~~~~~~~
105 | });
| ~~
/usr/lib/llvm-17/include/llvm/ADT/STLExtras.h:2032:30: error: ‘class llvm::SmallVector<std::pair<unsigned int, llvm::MDNode*>, 2>’ has no member named ‘end’
2032 | C.erase(remove_if(C, P), C.end());
| ~~^~~
/usr/lib/llvm-17/include/llvm/ADT/SmallVector.h: In instantiation of ‘llvm::SmallVector<T, N>::~SmallVector() [with T = llvm::BasicBlock*; unsigned int N = 1]’:
/usr/lib/llvm-17/include/llvm/Support/GenericDomTree.h:279:3: required from here
279 | DominatorTreeBase() = default;
| ^~~~~~~~~~~~~~~~~
/usr/lib/llvm-17/include/llvm/ADT/SmallVector.h:1206:31: error: ‘class llvm::SmallVector<llvm::BasicBlock*, 1>’ has no member named ‘begin’
1206 | this->destroy_range(this->begin(), this->end());
| ~~~~~~^~~~~
/usr/lib/llvm-17/include/llvm/ADT/SmallVector.h:1206:46: error: ‘class llvm::SmallVector<llvm::BasicBlock*, 1>’ has no member named ‘end’
1206 | this->destroy_range(this->begin(), this->end());
| ~~~~~~^~~
make[3]: *** [lib/SPIRV/CMakeFiles/LLVMSPIRVLib.dir/build.make:194: lib/SPIRV/CMakeFiles/LLVMSPIRVLib.dir/OCLUtil.cpp.o] Error 1
make[3]: *** [lib/SPIRV/CMakeFiles/LLVMSPIRVLib.dir/build.make:180: lib/SPIRV/CMakeFiles/LLVMSPIRVLib.dir/OCLTypeToSPIRV.cpp.o] Error 1
make[3]: *** [lib/SPIRV/CMakeFiles/LLVMSPIRVLib.dir/build.make:208: lib/SPIRV/CMakeFiles/LLVMSPIRVLib.dir/VectorComputeUtil.cpp.o] Error 1
/build/reproducible-path/spirv-llvm-translator-17-17.0.8/lib/SPIRV/SPIRVBuiltinHelper.cpp: At global scope:
/build/reproducible-path/spirv-llvm-translator-17-17.0.8/lib/SPIRV/SPIRVBuiltinHelper.cpp:147:13: warning: ‘void moveAttributes(llvm::LLVMContext&, llvm::AttributeList&, unsigned int, unsigned int, unsigned int)’ defined but not used [-Wunused-function]
147 | static void moveAttributes(LLVMContext &Ctx, AttributeList &Attrs,
| ^~~~~~~~~~~~~~
make[3]: *** [lib/SPIRV/CMakeFiles/LLVMSPIRVLib.dir/build.make:222: lib/SPIRV/CMakeFiles/LLVMSPIRVLib.dir/SPIRVBuiltinHelper.cpp.o] Error 1
make[3]: *** [lib/SPIRV/CMakeFiles/LLVMSPIRVLib.dir/build.make:166: lib/SPIRV/CMakeFiles/LLVMSPIRVLib.dir/OCLToSPIRV.cpp.o] Error 1
make[3]: *** [lib/SPIRV/CMakeFiles/LLVMSPIRVLib.dir/build.make:96: lib/SPIRV/CMakeFiles/LLVMSPIRVLib.dir/LLVMToSPIRVDbgTran.cpp.o] Error 1
make[3]: *** [lib/SPIRV/CMakeFiles/LLVMSPIRVLib.dir/build.make:236: lib/SPIRV/CMakeFiles/LLVMSPIRVLib.dir/SPIRVLowerBitCastToNonStandardType.cpp.o] Error 1
make[3]: Leaving directory '/build/reproducible-path/spirv-llvm-translator-17-17.0.8/build'
make[2]: *** [CMakeFiles/Makefile2:292: lib/SPIRV/CMakeFiles/LLVMSPIRVLib.dir/all] Error 2
make[2]: Leaving directory '/build/reproducible-path/spirv-llvm-translator-17-17.0.8/build'
make[1]: *** [Makefile:139: all] Error 2
make[1]: Leaving directory '/build/reproducible-path/spirv-llvm-translator-17-17.0.8/build'
dh_auto_build: error: cd build && make -j8 "INSTALL=install --strip-program=true" VERBOSE=1 returned exit code 2
make: *** [debian/rules:11: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
More information about the Pkg-opencl-devel
mailing list