Bug#984270: onednn: ftbfs with GCC-11
Package: src:onednn
Version: 2.0+ds-2
Severity: normal
Tags: sid bookworm
User: debian-gcc@lists.debian.org
Usertags: ftbfs-gcc-11
[This bug is not targeted to the upcoming bullseye 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-11/g++-11, but succeeds to build with gcc-10/g++-10. The
severity of this report will be raised before the bookworm release,
so nothing has to be done for the bullseye release.
The full build log can be found at:
http://people.debian.org/~doko/logs/20210228/filtered/gcc11/onednn_2.0+ds-2_unstable_gcc11.log
The last lines of the build log are at the end of this report.
To build with GCC 11, either set CC=gcc-11 CXX=g++-11 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.
apt-get -t=experimental install g++
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-11/porting_to.html
GCC 11 defaults to the GNU++17 standard. If your package installs
header files in /usr/include, please don't work around C++17 issues
by choosing a lower C++ standard for the package build, but fix these
issues to build with the C++17 standard.
[...]
389 | default: return std::[01;31m[Knumeric_limits[m[K<int>::max();
| [01;31m[K^~~~~~~~~~~~~~[m[K
[01m[K../src/gpu/jit/ngen/ngen_auto_swsb.hpp:389:52:[m[K [01;31m[Kerror: [m[Kexpected primary-expression before ‘[01m[Kint[m[K’
389 | default: return std::numeric_limits<[01;31m[Kint[m[K>::max();
| [01;31m[K^~~[m[K
[01m[K../src/gpu/jit/ngen/ngen_auto_swsb.hpp:389:52:[m[K [01;31m[Kerror: [m[Kexpected ‘[01m[K;[m[K’ before ‘[01m[Kint[m[K’
389 | default: return std::numeric_limits<[01;31m[Ki[m[K[32m[Knt[m[K>::max();
| [01;31m[K^[m[K[32m[K~~[m[K
| [32m[K;[m[K
[01m[K../src/gpu/jit/ngen/ngen_auto_swsb.hpp:389:55:[m[K [01;31m[Kerror: [m[Kexpected unqualified-id before ‘[01m[K>[m[K’ token
389 | default: return std::numeric_limits<int[01;31m[K>[m[K::max();
| [01;31m[K^[m[K
[01m[K../src/gpu/jit/ngen/ngen_auto_swsb.hpp:[m[K In function ‘[01m[Kuint8_t ngen::autoswsb::chooseSBID(ngen::HW, Program&, int32_t, int32_t, const ngen::autoswsb::DependencyTable<false>&, const ngen::autoswsb::DependencyTable<false>&, uint32_t)[m[K’:
[01m[K../src/gpu/jit/ngen/ngen_auto_swsb.hpp:1000:39:[m[K [01;31m[Kerror: [m[K‘[01m[Knumeric_limits[m[K’ is not a member of ‘[01m[Kstd[m[K’
1000 | constexpr int32_t infinite = std::[01;31m[Knumeric_limits[m[K<int32_t>::max();
| [01;31m[K^~~~~~~~~~~~~~[m[K
[01m[K../src/gpu/jit/ngen/ngen_auto_swsb.hpp:1000:61:[m[K [01;31m[Kerror: [m[Kexpected primary-expression before ‘[01m[K>[m[K’ token
1000 | constexpr int32_t infinite = std::numeric_limits<int32_t[01;31m[K>[m[K::max();
| [01;31m[K^[m[K
[01m[K../src/gpu/jit/ngen/ngen_auto_swsb.hpp:1000:64:[m[K [01;31m[Kerror: [m[K‘[01m[K::max[m[K’ has not been declared; did you mean ‘[01m[Kstd::max[m[K’?
1000 | constexpr int32_t infinite = std::numeric_limits<int32_t>::[01;31m[Kmax[m[K();
| [01;31m[K^~~[m[K
| [32m[Kstd::max[m[K
In file included from [01m[K/usr/include/c++/11/algorithm:62[m[K,
from [01m[K../src/gpu/jit/ngen/ngen_core.hpp:23[m[K,
from [01m[K../src/gpu/jit/ngen/ngen.hpp:35[m[K,
from [01m[K../src/gpu/jit/ngen/ngen_register_decl.hpp:290[m[K,
from [01m[K../src/gpu/jit/ngen/ngen_register_decl.cpp:17[m[K:
[01m[K/usr/include/c++/11/bits/stl_algo.h:3467:5:[m[K [01;36m[Knote: [m[K‘[01m[Kstd::max[m[K’ declared here
3467 | [01;36m[Kmax[m[K(initializer_list<_Tp> __l, _Compare __comp)
| [01;36m[K^~~[m[K
In file included from [01m[K../src/gpu/jit/ngen/ngen.hpp:36[m[K,
from [01m[K../src/gpu/jit/ngen/ngen_register_decl.hpp:290[m[K,
from [01m[K../src/gpu/jit/ngen/ngen_register_decl.cpp:17[m[K:
[01m[K../src/gpu/jit/ngen/ngen_auto_swsb.hpp:1001:27:[m[K [01;31m[Kerror: [m[K‘[01m[Knumeric_limits[m[K’ is not a member of ‘[01m[Kstd[m[K’
1001 | int32_t bestPE = std::[01;31m[Knumeric_limits[m[K<int32_t>::min();
| [01;31m[K^~~~~~~~~~~~~~[m[K
[01m[K../src/gpu/jit/ngen/ngen_auto_swsb.hpp:1001:49:[m[K [01;31m[Kerror: [m[Kexpected primary-expression before ‘[01m[K>[m[K’ token
1001 | int32_t bestPE = std::numeric_limits<int32_t[01;31m[K>[m[K::min();
| [01;31m[K^[m[K
[01m[K../src/gpu/jit/ngen/ngen_auto_swsb.hpp:1001:52:[m[K [01;31m[Kerror: [m[K‘[01m[K::min[m[K’ has not been declared; did you mean ‘[01m[Kstd::min[m[K’?
1001 | int32_t bestPE = std::numeric_limits<int32_t>::[01;31m[Kmin[m[K();
| [01;31m[K^~~[m[K
| [32m[Kstd::min[m[K
In file included from [01m[K/usr/include/c++/11/algorithm:62[m[K,
from [01m[K../src/gpu/jit/ngen/ngen_core.hpp:23[m[K,
from [01m[K../src/gpu/jit/ngen/ngen.hpp:35[m[K,
from [01m[K../src/gpu/jit/ngen/ngen_register_decl.hpp:290[m[K,
from [01m[K../src/gpu/jit/ngen/ngen_register_decl.cpp:17[m[K:
[01m[K/usr/include/c++/11/bits/stl_algo.h:3455:5:[m[K [01;36m[Knote: [m[K‘[01m[Kstd::min[m[K’ declared here
3455 | [01;36m[Kmin[m[K(initializer_list<_Tp> __l, _Compare __comp)
| [01;36m[K^~~[m[K
In file included from [01m[K../src/gpu/jit/ngen/ngen.hpp:36[m[K,
from [01m[K../src/gpu/jit/ngen/ngen_register_decl.hpp:290[m[K,
from [01m[K../src/gpu/jit/ngen/ngen_register_decl.cpp:17[m[K:
[01m[K../src/gpu/jit/ngen/ngen_auto_swsb.hpp:[m[K In function ‘[01m[Kvoid ngen::autoswsb::analyze(ngen::HW, Program&, ngen::autoswsb::BasicBlock&, int)[m[K’:
[01m[K../src/gpu/jit/ngen/ngen_auto_swsb.hpp:1077:29:[m[K [01;31m[Kerror: [m[K‘[01m[Knumeric_limits[m[K’ is not a member of ‘[01m[Kstd[m[K’
1077 | int noPreconsume = std::[01;31m[Knumeric_limits[m[K<int>::min();
| [01;31m[K^~~~~~~~~~~~~~[m[K
[01m[K../src/gpu/jit/ngen/ngen_auto_swsb.hpp:1077:44:[m[K [01;31m[Kerror: [m[Kexpected primary-expression before ‘[01m[Kint[m[K’
1077 | int noPreconsume = std::numeric_limits<[01;31m[Kint[m[K>::min();
| [01;31m[K^~~[m[K
[305/905] /usr/bin/c++ -DCL_TARGET_OPENCL_VERSION=120 -DDNNL_DLL -DDNNL_DLL_EXPORTS -DDNNL_ENABLE_MAX_CPU_ISA -DDNNL_X64=1 -DNGEN_CPP11 -DNGEN_NEO_INTERFACE -DNGEN_NO_OP_NAMES -DNGEN_SAFE -DNGEN_WINDOWS_COMPAT -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -I../include -Iinclude -I../src -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -fdiagnostics-color=always -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++11 -fopenmp -fvisibility-inlines-hidden -Wall -Wno-unknown-pragmas -w -fvisibility=internal -fPIC -Wformat -Wformat-security -fstack-protector-strong -Wmissing-field-initializers -Wno-strict-overflow -O2 -g -DNDEBUG -MD -MT src/gpu/CMakeFiles/dnnl_gpu.dir/gpu_impl_list.cpp.o -MF src/gpu/CMakeFiles/dnnl_gpu.dir/gpu_impl_list.cpp.o.d -o src/gpu/CMakeFiles/dnnl_gpu.dir/gpu_impl_list.cpp.o -c ../src/gpu/gpu_impl_list.cpp
[306/905] /usr/bin/c++ -DCL_TARGET_OPENCL_VERSION=120 -DDNNL_DLL -DDNNL_DLL_EXPORTS -DDNNL_ENABLE_MAX_CPU_ISA -DDNNL_X64=1 -DNGEN_CPP11 -DNGEN_NEO_INTERFACE -DNGEN_NO_OP_NAMES -DNGEN_SAFE -DNGEN_WINDOWS_COMPAT -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -I../include -Iinclude -I../src -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -fdiagnostics-color=always -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++11 -fopenmp -fvisibility-inlines-hidden -Wall -Wno-unknown-pragmas -w -fvisibility=internal -fPIC -Wformat -Wformat-security -fstack-protector-strong -Wmissing-field-initializers -Wno-strict-overflow -O2 -g -DNDEBUG -MD -MT src/gpu/jit/CMakeFiles/dnnl_gpu_jit.dir/gemm/gen_gemm_kernel_generator.cpp.o -MF src/gpu/jit/CMakeFiles/dnnl_gpu_jit.dir/gemm/gen_gemm_kernel_generator.cpp.o.d -o src/gpu/jit/CMakeFiles/dnnl_gpu_jit.dir/gemm/gen_gemm_kernel_generator.cpp.o -c ../src/gpu/jit/gemm/gen_gemm_kernel_generator.cpp
ninja: build stopped: subcommand failed.
dh_auto_build: error: cd obj-x86_64-linux-gnu && LC_ALL=C.UTF-8 ninja -j4 -v returned exit code 1
make[1]: *** [debian/rules:20: override_dh_auto_build] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:9: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
Reply to: