[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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::numeric_limits<int>::max();
      |                                     ^~~~~~~~~~~~~~
../src/gpu/jit/ngen/ngen_auto_swsb.hpp:389:52: error: expected primary-expression before ‘int’
  389 |         default:        return std::numeric_limits<int>::max();
      |                                                    ^~~
../src/gpu/jit/ngen/ngen_auto_swsb.hpp:389:52: error: expected ‘;’ before ‘int’
  389 |         default:        return std::numeric_limits<int>::max();
      |                                                    ^~~
      |                                                    ;
../src/gpu/jit/ngen/ngen_auto_swsb.hpp:389:55: error: expected unqualified-id before ‘>’ token
  389 |         default:        return std::numeric_limits<int>::max();
      |                                                       ^
../src/gpu/jit/ngen/ngen_auto_swsb.hpp: In function ‘uint8_t ngen::autoswsb::chooseSBID(ngen::HW, Program&, int32_t, int32_t, const ngen::autoswsb::DependencyTable<false>&, const ngen::autoswsb::DependencyTable<false>&, uint32_t)’:
../src/gpu/jit/ngen/ngen_auto_swsb.hpp:1000:39: error: ‘numeric_limits’ is not a member of ‘std’
 1000 |     constexpr int32_t infinite = std::numeric_limits<int32_t>::max();
      |                                       ^~~~~~~~~~~~~~
../src/gpu/jit/ngen/ngen_auto_swsb.hpp:1000:61: error: expected primary-expression before ‘>’ token
 1000 |     constexpr int32_t infinite = std::numeric_limits<int32_t>::max();
      |                                                             ^
../src/gpu/jit/ngen/ngen_auto_swsb.hpp:1000:64: error: ‘::max’ has not been declared; did you mean ‘std::max’?
 1000 |     constexpr int32_t infinite = std::numeric_limits<int32_t>::max();
      |                                                                ^~~
      |                                                                std::max
In file included from /usr/include/c++/11/algorithm:62,
                 from ../src/gpu/jit/ngen/ngen_core.hpp:23,
                 from ../src/gpu/jit/ngen/ngen.hpp:35,
                 from ../src/gpu/jit/ngen/ngen_register_decl.hpp:290,
                 from ../src/gpu/jit/ngen/ngen_register_decl.cpp:17:
/usr/include/c++/11/bits/stl_algo.h:3467:5: note: ‘std::max’ declared here
 3467 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
In file included from ../src/gpu/jit/ngen/ngen.hpp:36,
                 from ../src/gpu/jit/ngen/ngen_register_decl.hpp:290,
                 from ../src/gpu/jit/ngen/ngen_register_decl.cpp:17:
../src/gpu/jit/ngen/ngen_auto_swsb.hpp:1001:27: error: ‘numeric_limits’ is not a member of ‘std’
 1001 |     int32_t bestPE = std::numeric_limits<int32_t>::min();
      |                           ^~~~~~~~~~~~~~
../src/gpu/jit/ngen/ngen_auto_swsb.hpp:1001:49: error: expected primary-expression before ‘>’ token
 1001 |     int32_t bestPE = std::numeric_limits<int32_t>::min();
      |                                                 ^
../src/gpu/jit/ngen/ngen_auto_swsb.hpp:1001:52: error: ‘::min’ has not been declared; did you mean ‘std::min’?
 1001 |     int32_t bestPE = std::numeric_limits<int32_t>::min();
      |                                                    ^~~
      |                                                    std::min
In file included from /usr/include/c++/11/algorithm:62,
                 from ../src/gpu/jit/ngen/ngen_core.hpp:23,
                 from ../src/gpu/jit/ngen/ngen.hpp:35,
                 from ../src/gpu/jit/ngen/ngen_register_decl.hpp:290,
                 from ../src/gpu/jit/ngen/ngen_register_decl.cpp:17:
/usr/include/c++/11/bits/stl_algo.h:3455:5: note: ‘std::min’ declared here
 3455 |     min(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
In file included from ../src/gpu/jit/ngen/ngen.hpp:36,
                 from ../src/gpu/jit/ngen/ngen_register_decl.hpp:290,
                 from ../src/gpu/jit/ngen/ngen_register_decl.cpp:17:
../src/gpu/jit/ngen/ngen_auto_swsb.hpp: In function ‘void ngen::autoswsb::analyze(ngen::HW, Program&, ngen::autoswsb::BasicBlock&, int)’:
../src/gpu/jit/ngen/ngen_auto_swsb.hpp:1077:29: error: ‘numeric_limits’ is not a member of ‘std’
 1077 |     int noPreconsume = std::numeric_limits<int>::min();
      |                             ^~~~~~~~~~~~~~
../src/gpu/jit/ngen/ngen_auto_swsb.hpp:1077:44: error: expected primary-expression before ‘int’
 1077 |     int noPreconsume = std::numeric_limits<int>::min();
      |                                            ^~~
[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: