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

Bug#984053: etl: ftbfs with GCC-11



Package: src:etl
Version: 1.4.0-1
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/etl_1.4.0-1_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.

[...]
g++ -DHAVE_CONFIG_H -I. -I../ETL  -I.. -I../ETL -Wdate-time -D_FORTIFY_SOURCE=2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -W -Wall -O2 -DNDEBUG -I.. -I../ETL -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -W -Wall -O2 -DNDEBUG -c -o hermite.o hermite.cpp
angle.cpp: In function ‘int angle_test()’:
angle.cpp:205:17: error: reference to ‘hermite’ is ambiguous
  205 |                 hermite<angle> hermie(a,b,b.dist(a),b.dist(a));
      |                 ^~~~~~~
In file included from ../ETL/hermite:32,
                 from angle.cpp:29:
../ETL/_hermite.h:135:7: note: candidates are: ‘template<class V, class T> class etl::hermite’
  135 | class hermite : public bezier<V,T>
      |       ^~~~~~~
In file included from /usr/include/c++/11/cmath:1927,
                 from ../ETL/_fixed.h:33,
                 from ../ETL/_curve_func.h:33,
                 from ../ETL/angle:31,
                 from angle.cpp:26:
/usr/include/c++/11/bits/specfun.h:918:5: note:                 ‘template<class _Tp> typename __gnu_cxx::__promote<_Tp>::__type std::hermite(unsigned int, _Tp)’
  918 |     hermite(unsigned int __n, _Tp __x)
      |     ^~~~~~~
angle.cpp:205:30: error: expected primary-expression before ‘>’ token
  205 |                 hermite<angle> hermie(a,b,b.dist(a),b.dist(a));
      |                              ^
angle.cpp:205:32: error: ‘hermie’ was not declared in this scope
  205 |                 hermite<angle> hermie(a,b,b.dist(a),b.dist(a));
      |                                ^~~~~~
make[3]: *** [Makefile:677: angle.o] Error 1
make[3]: *** Waiting for unfinished jobs....
In file included from ../ETL/bezier:32,
                 from ../ETL/_hermite.h:32,
                 from ../ETL/hermite:32,
                 from hermite.cpp:25:
../ETL/_bezier.h: In instantiation of ‘etl::bezier_base<V, T>::value_type etl::bezier_base<V, T>::operator()(etl::bezier_base<V, T>::time_type) const [with V = float; T = etl::fixed_base<int, 12>; etl::bezier_base<V, T>::value_type = float; etl::bezier_base<V, T>::time_type = etl::fixed_base<int, 12>]’:
hermite.cpp:151:14:   required from here
../ETL/_bezier.h:98:18: warning: implicitly-declared ‘constexpr etl::fixed_base<int, 12>& etl::fixed_base<int, 12>::operator=(const etl::fixed_base<int, 12>&)’ is deprecated [-Wdeprecated-copy]
   98 |                 t=(t-r)/(s-r);
      |                 ~^~~~~~~~~~~~
In file included from ../ETL/_curve_func.h:33,
                 from ../ETL/_bezier.h:33,
                 from ../ETL/bezier:32,
                 from ../ETL/_hermite.h:32,
                 from ../ETL/hermite:32,
                 from hermite.cpp:25:
../ETL/_fixed.h:181:1: note: because ‘etl::fixed_base<int, 12>’ has user-provided ‘etl::fixed_base<T, FIXED_BITS>::fixed_base(const _fixed&) [with T = int; unsigned int FIXED_BITS = 12; etl::fixed_base<T, FIXED_BITS>::_fixed = etl::fixed_base<int, 12>]’
  181 | fixed_base<T,FIXED_BITS>::fixed_base(const _fixed &x):_data(x._data)
      | ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../ETL/bezier:32,
                 from ../ETL/_hermite.h:32,
                 from ../ETL/hermite:32,
                 from hermite.cpp:25:
../ETL/_bezier.h: In instantiation of ‘etl::bezier_base<V, T>::value_type etl::bezier_base<V, T>::operator()(etl::bezier_base<V, T>::time_type) const [with V = etl::angle; T = etl::fixed_base<int, 12>; etl::bezier_base<V, T>::value_type = etl::angle; etl::bezier_base<V, T>::time_type = etl::fixed_base<int, 12>]’:
hermite.cpp:192:16:   required from here
../ETL/_bezier.h:98:18: warning: implicitly-declared ‘constexpr etl::fixed_base<int, 12>& etl::fixed_base<int, 12>::operator=(const etl::fixed_base<int, 12>&)’ is deprecated [-Wdeprecated-copy]
   98 |                 t=(t-r)/(s-r);
      |                 ~^~~~~~~~~~~~
In file included from ../ETL/_curve_func.h:33,
                 from ../ETL/_bezier.h:33,
                 from ../ETL/bezier:32,
                 from ../ETL/_hermite.h:32,
                 from ../ETL/hermite:32,
                 from hermite.cpp:25:
../ETL/_fixed.h:181:1: note: because ‘etl::fixed_base<int, 12>’ has user-provided ‘etl::fixed_base<T, FIXED_BITS>::fixed_base(const _fixed&) [with T = int; unsigned int FIXED_BITS = 12; etl::fixed_base<T, FIXED_BITS>::_fixed = etl::fixed_base<int, 12>]’
  181 | fixed_base<T,FIXED_BITS>::fixed_base(const _fixed &x):_data(x._data)
      | ^~~~~~~~~~~~~~~~~~~~~~~~
make[3]: Leaving directory '/<<PKGBUILDDIR>>/test'
make[2]: *** [Makefile:1005: check-am] Error 2
make[2]: Leaving directory '/<<PKGBUILDDIR>>/test'
make[1]: *** [Makefile:516: check-recursive] Error 1
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_test: error: make -j4 check VERBOSE=1 returned exit code 2
make: *** [debian/rules:7: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2


Reply to: