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

Bug#984211: libwibble: ftbfs with GCC-11



Package: src:libwibble
Version: 1.1-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/libwibble_1.1-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.

[...]
make  -f wibble/CMakeFiles/wibble.dir/build.make wibble/CMakeFiles/wibble.dir/build
make[4]: Entering directory '/<<PKGBUILDDIR>>/debian/build'
[  1%] Building CXX object wibble/CMakeFiles/wibble.dir/exception.o
[  2%] Building CXX object wibble/CMakeFiles/wibble.dir/string.o
[  3%] Building CXX object wibble/CMakeFiles/wibble.dir/regexp.o
cd /<<PKGBUILDDIR>>/debian/build/wibble && /usr/bin/c++ -DHAVE_CONFIG_H -DPOSIX -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -I/<<PKGBUILDDIR>>/wibble/.. -I/<<PKGBUILDDIR>>/debian/build/wibble/.. -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -o CMakeFiles/wibble.dir/exception.o -c /<<PKGBUILDDIR>>/wibble/exception.cpp
cd /<<PKGBUILDDIR>>/debian/build/wibble && /usr/bin/c++ -DHAVE_CONFIG_H -DPOSIX -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -I/<<PKGBUILDDIR>>/wibble/.. -I/<<PKGBUILDDIR>>/debian/build/wibble/.. -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -o CMakeFiles/wibble.dir/string.o -c /<<PKGBUILDDIR>>/wibble/string.cpp
cd /<<PKGBUILDDIR>>/debian/build/wibble && /usr/bin/c++ -DHAVE_CONFIG_H -DPOSIX -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -I/<<PKGBUILDDIR>>/wibble/.. -I/<<PKGBUILDDIR>>/debian/build/wibble/.. -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -o CMakeFiles/wibble.dir/regexp.o -c /<<PKGBUILDDIR>>/wibble/regexp.cpp
[  4%] Building CXX object wibble/CMakeFiles/wibble.dir/test.o
cd /<<PKGBUILDDIR>>/debian/build/wibble && /usr/bin/c++ -DHAVE_CONFIG_H -DPOSIX -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -I/<<PKGBUILDDIR>>/wibble/.. -I/<<PKGBUILDDIR>>/debian/build/wibble/.. -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -o CMakeFiles/wibble.dir/test.o -c /<<PKGBUILDDIR>>/wibble/test.cpp
In file included from /<<PKGBUILDDIR>>/wibble/regexp.cpp:21:
/<<PKGBUILDDIR>>/wibble/../wibble/regexp.h:66:77: error: ISO C++17 does not allow dynamic exception specifications
   66 |         Regexp(const std::string& expr, int match_count = 0, int flags = 0) throw (wibble::exception::Regexp);
      |                                                                             ^~~~~
/<<PKGBUILDDIR>>/wibble/../wibble/regexp.h:69:59: error: ISO C++17 does not allow dynamic exception specifications
   69 |         bool match(const std::string& str, int flags = 0) throw (wibble::exception::Regexp);
      |                                                           ^~~~~
/<<PKGBUILDDIR>>/wibble/../wibble/regexp.h:75:41: error: ISO C++17 does not allow dynamic exception specifications
   75 |         std::string operator[](int idx) throw (wibble::exception::OutOfRange);
      |                                         ^~~~~
/<<PKGBUILDDIR>>/wibble/../wibble/regexp.h:77:36: error: ISO C++17 does not allow dynamic exception specifications
   77 |         size_t matchStart(int idx) throw (wibble::exception::OutOfRange);
      |                                    ^~~~~
/<<PKGBUILDDIR>>/wibble/../wibble/regexp.h:78:34: error: ISO C++17 does not allow dynamic exception specifications
   78 |         size_t matchEnd(int idx) throw (wibble::exception::OutOfRange);
      |                                  ^~~~~
/<<PKGBUILDDIR>>/wibble/../wibble/regexp.h:79:37: error: ISO C++17 does not allow dynamic exception specifications
   79 |         size_t matchLength(int idx) throw (wibble::exception::OutOfRange);
      |                                     ^~~~~
/<<PKGBUILDDIR>>/wibble/../wibble/regexp.h:85:78: error: ISO C++17 does not allow dynamic exception specifications
   85 |         ERegexp(const std::string& expr, int match_count = 0, int flags = 0) throw (wibble::exception::Regexp)
      |                                                                              ^~~~~
/<<PKGBUILDDIR>>/wibble/regexp.cpp:53:9: error: ISO C++17 does not allow dynamic exception specifications
   53 |         throw (wibble::exception::Regexp) : pmatch(0), nmatch(match_count)
      |         ^~~~~
/<<PKGBUILDDIR>>/wibble/regexp.cpp:75:9: error: ISO C++17 does not allow dynamic exception specifications
   75 |         throw(wibble::exception::Regexp)
      |         ^~~~~
/<<PKGBUILDDIR>>/wibble/regexp.cpp:95:36: error: ISO C++17 does not allow dynamic exception specifications
   95 | string Regexp::operator[](int idx) throw (wibble::exception::OutOfRange)
      |                                    ^~~~~
/<<PKGBUILDDIR>>/wibble/regexp.cpp:106:36: error: ISO C++17 does not allow dynamic exception specifications
  106 | size_t Regexp::matchStart(int idx) throw (wibble::exception::OutOfRange)
      |                                    ^~~~~
/<<PKGBUILDDIR>>/wibble/regexp.cpp:113:34: error: ISO C++17 does not allow dynamic exception specifications
  113 | size_t Regexp::matchEnd(int idx) throw (wibble::exception::OutOfRange)
      |                                  ^~~~~
/<<PKGBUILDDIR>>/wibble/regexp.cpp:120:37: error: ISO C++17 does not allow dynamic exception specifications
  120 | size_t Regexp::matchLength(int idx) throw (wibble::exception::OutOfRange)
      |                                     ^~~~~
make[4]: *** [wibble/CMakeFiles/wibble.dir/build.make:98: wibble/CMakeFiles/wibble.dir/regexp.o] Error 1
make[4]: *** Waiting for unfinished jobs....
/<<PKGBUILDDIR>>/wibble/string.cpp: In function ‘std::string wibble::str::fmtf(const char*, ...)’:
/<<PKGBUILDDIR>>/wibble/string.cpp:117:14: warning: ignoring return value of ‘int vasprintf(char**, const char*, __va_list_tag*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  117 |     vasprintf( &c, f, ap );
      |     ~~~~~~~~~^~~~~~~~~~~~~
/<<PKGBUILDDIR>>/wibble/string.cpp: In function ‘std::string wibble::str::fmt(const char*, ...)’:
/<<PKGBUILDDIR>>/wibble/string.cpp:127:14: warning: ignoring return value of ‘int vasprintf(char**, const char*, __va_list_tag*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  127 |     vasprintf( &c, f, ap );
      |     ~~~~~~~~~^~~~~~~~~~~~~
make[4]: Leaving directory '/<<PKGBUILDDIR>>/debian/build'
make[3]: *** [CMakeFiles/Makefile2:222: wibble/CMakeFiles/wibble.dir/all] Error 2
make[3]: Leaving directory '/<<PKGBUILDDIR>>/debian/build'
make[2]: *** [Makefile:152: all] Error 2
make[2]: Leaving directory '/<<PKGBUILDDIR>>/debian/build'
dh_auto_build: error: cd debian/build && make -j4 VERBOSE=1 returned exit code 2
make[1]: *** [debian/rules:9: override_dh_auto_build] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:6: build] Error 2
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2


Reply to: