Bug#984317: rheolef: ftbfs with GCC-11

Matthias Klose doko at debian.org
Wed Mar 3 16:17:04 GMT 2021


Package: src:rheolef
Version: 7.1-3
Severity: normal
Tags: sid bookworm
User: debian-gcc at 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/rheolef_7.1-3_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.

[...]
bash ../../config/src2man.sh -nowarning-as-error -section 3 continuation_option.h continuation_option.3rheolef
bash ../../config/src2man.sh -nowarning-as-error -section 3 level_set.h level_set.3rheolef
bash ../../config/src2man.sh -nowarning-as-error -section 3 limiter.h limiter.3rheolef
rm -f rheolef.man2 && ln -s rheolef.h rheolef.man2
rm -f geo.man2 && ln -s geo.h geo.man2
rm -f field.man2 && ln -s field.h field.man2
rm -f space.man2 && ln -s space.h space.man2
rm -f form.man2 && ln -s form.h form.man2
rm -f branch.man2 && ln -s branch.h branch.man2
rm -f test.man2 && ln -s test.h test.man2
rm -f problem.man2 && ln -s problem.h problem.man2
rm -f problem_mixed.man2 && ln -s problem_mixed.h problem_mixed.man2
rm -f band.man2 && ln -s band.h band.man2
rm -f characteristic.man2 && ln -s characteristic.h characteristic.man2
rm -f adapt.man3 && ln -s adapt.h adapt.man3
rm -f interpolate.man3 && ln -s interpolate.h interpolate.man3
rm -f integrate.man3 && ln -s integrate.h integrate.man3
rm -f expression.man3 && ln -s expression.h expression.man3
rm -f compose.man3 && ln -s compose.h compose.man3
rm -f newton.man3 && ln -s newton.h newton.man3
rm -f damped_newton.man3 && ln -s damped_newton.h damped_newton.man3
rm -f continuation.man3 && ln -s continuation.h continuation.man3
rm -f continuation_option.man3 && ln -s continuation_option.h continuation_option.man3
rm -f level_set.man3 && ln -s level_set.h level_set.man3
rm -f limiter.man3 && ln -s limiter.h limiter.man3
Making all in sbin
g++ -DHAVE_CONFIG_H -I. -I../../config  -I../../include -I../../fem/geo_element -I../../linalg/lib -I../../util/lib   -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/eigen3  -g  -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -std=c++17 -Wall -fpermissive -Wno-unused -Wno-strict-aliasing -Wno-deprecated-declarations -Wno-narrowing -Wno-literal-suffix -Wno-int-in-bool-context -O3  -c -o bamg2geo.o bamg2geo.cc
In file included from bamg2geo.cc:134:
../../include/rheolef/index_set_body.icc: In member function ‘void rheolef::index_set::inplace_union(const rheolef::index_set&)’:
../../include/rheolef/index_set_body.icc:98:34: error: ‘numeric_limits’ is not a member of ‘std’
   98 |     const size_type infty = std::numeric_limits<size_type>::max();
      |                                  ^~~~~~~~~~~~~~
../../include/rheolef/index_set_body.icc:98:58: error: expected primary-expression before ‘>’ token
   98 |     const size_type infty = std::numeric_limits<size_type>::max();
      |                                                          ^
../../include/rheolef/index_set_body.icc:98:61: error: ‘::max’ has not been declared; did you mean ‘std::max’?
   98 |     const size_type infty = std::numeric_limits<size_type>::max();
      |                                                             ^~~
      |                                                             std::max
In file included from /usr/include/c++/11/algorithm:62,
                 from ../../include/rheolef/index_set_header.icc:42,
                 from bamg2geo.cc:133:
/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 bamg2geo.cc:134:
../../include/rheolef/index_set_body.icc: In member function ‘void rheolef::index_set::inplace_intersection(const rheolef::index_set&)’:
../../include/rheolef/index_set_body.icc:128:34: error: ‘numeric_limits’ is not a member of ‘std’
  128 |     const size_type infty = std::numeric_limits<size_type>::max();
      |                                  ^~~~~~~~~~~~~~
../../include/rheolef/index_set_body.icc:128:58: error: expected primary-expression before ‘>’ token
  128 |     const size_type infty = std::numeric_limits<size_type>::max();
      |                                                          ^
../../include/rheolef/index_set_body.icc:128:61: error: ‘::max’ has not been declared; did you mean ‘std::max’?
  128 |     const size_type infty = std::numeric_limits<size_type>::max();
      |                                                             ^~~
      |                                                             std::max
In file included from /usr/include/c++/11/algorithm:62,
                 from ../../include/rheolef/index_set_header.icc:42,
                 from bamg2geo.cc:133:
/usr/include/c++/11/bits/stl_algo.h:3467:5: note: ‘std::max’ declared here
 3467 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
make[3]: *** [Makefile:754: bamg2geo.o] Error 1
make[2]: *** [Makefile:445: all-recursive] Error 1
make[1]: *** [Makefile:514: all-recursive] Error 1
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_build: error: make -j4 returned exit code 2
make: *** [debian/rules:30: build] Error 25
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2



More information about the debian-science-maintainers mailing list