Bug#984186: libloki: ftbfs with GCC-11
Package: src:libloki
Version: 0.1.7-4
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/libloki_0.1.7-4_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.
[...]
| ^~~~~~~~
In file included from /usr/include/c++/11/memory:76,
from ../include/loki/Singleton.h:30,
from ../include/loki/SmallObj.h:23,
from SmallObj.cpp:19:
/usr/include/c++/11/bits/unique_ptr.h:57:28: note: declared here
57 | template<typename> class auto_ptr;
| ^~~~~~~~
In file included from SmallObj.cpp:19:
../include/loki/SmallObj.h: At global scope:
../include/loki/SmallObj.h:462:57: error: ISO C++17 does not allow dynamic exception specifications
462 | static void * operator new ( std::size_t size ) throw ( std::bad_alloc )
| ^~~~~
In file included from ../include/loki/SmallObj.h:23,
from ../include/loki/SmartPtr.h:33,
from SmartPtr.cpp:20:
../include/loki/Singleton.h: In function ‘void Loki::SetLongevity(T*, unsigned int, Destroyer)’:
../include/loki/Singleton.h:158:14: warning: ‘template<class> class std::auto_ptr’ is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
158 | std::auto_ptr<LifetimeTracker>
| ^~~~~~~~
In file included from /usr/include/c++/11/memory:76,
from ../include/loki/Singleton.h:30,
from ../include/loki/SmallObj.h:23,
from ../include/loki/SmartPtr.h:33,
from SmartPtr.cpp:20:
/usr/include/c++/11/bits/unique_ptr.h:57:28: note: declared here
57 | template<typename> class auto_ptr;
| ^~~~~~~~
In file included from ../include/loki/SmallObj.h:23,
from ../include/loki/SmartPtr.h:33,
from ../include/loki/StrongPtr.h:20,
from StrongPtr.cpp:16:
../include/loki/Singleton.h: In function ‘void Loki::SetLongevity(T*, unsigned int, Destroyer)’:
../include/loki/Singleton.h:158:14: warning: ‘template<class> class std::auto_ptr’ is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
158 | std::auto_ptr<LifetimeTracker>
| ^~~~~~~~
In file included from /usr/include/c++/11/memory:76,
from ../include/loki/Singleton.h:30,
from ../include/loki/SmallObj.h:23,
from ../include/loki/SmartPtr.h:33,
from ../include/loki/StrongPtr.h:20,
from StrongPtr.cpp:16:
/usr/include/c++/11/bits/unique_ptr.h:57:28: note: declared here
57 | template<typename> class auto_ptr;
| ^~~~~~~~
In file included from ../include/loki/SmartPtr.h:33,
from ../include/loki/StrongPtr.h:20,
from StrongPtr.cpp:16:
../include/loki/SmallObj.h: At global scope:
../include/loki/SmallObj.h:462:57: error: ISO C++17 does not allow dynamic exception specifications
462 | static void * operator new ( std::size_t size ) throw ( std::bad_alloc )
| ^~~~~
In file included from ../include/loki/SmartPtr.h:33,
from SmartPtr.cpp:20:
../include/loki/SmallObj.h: At global scope:
../include/loki/SmallObj.h:462:57: error: ISO C++17 does not allow dynamic exception specifications
462 | static void * operator new ( std::size_t size ) throw ( std::bad_alloc )
| ^~~~~
make[3]: *** [Makefile:86: SmallObj.lo] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: *** [Makefile:86: SmartPtr.lo] Error 1
make[3]: *** [Makefile:86: StrongPtr.lo] Error 1
make[3]: Leaving directory '/<<PKGBUILDDIR>>/src'
make[2]: *** [Makefile:9: build-shared] Error 2
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_build: error: make -j4 "INSTALL=install --strip-program=true" OS=Linux build-static build-shared 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: