Bug#984196: libopendbx: ftbfs with GCC-11
Package: src:libopendbx
Version: 1.4.6-15
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/libopendbx_1.4.6-15_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.
[...]
193 | unsigned long Result_Impl::columnPos( const string& name ) throw( std::exception )
| ^~~~~
odbx_impl.cpp:216:67: error: ISO C++17 does not allow dynamic exception specifications
216 | const string Result_Impl::columnName( unsigned long pos ) throw( std::exception )
| ^~~~~
odbx_impl.cpp:233:63: error: ISO C++17 does not allow dynamic exception specifications
233 | odbxtype Result_Impl::columnType( unsigned long pos ) throw( std::exception )
| ^~~~~
odbx_impl.cpp:245:69: error: ISO C++17 does not allow dynamic exception specifications
245 | unsigned long Result_Impl::fieldLength( unsigned long pos ) throw( std::exception )
| ^~~~~
odbx_impl.cpp:257:66: error: ISO C++17 does not allow dynamic exception specifications
257 | const char* Result_Impl::fieldValue( unsigned long pos ) throw( std::exception )
| ^~~~~
odbx_impl.cpp:268:61: error: ISO C++17 does not allow dynamic exception specifications
268 | Lob_Iface* Result_Impl::getLob( const char* value ) throw( std::exception )
| ^~~~~
odbx_impl.cpp:283:48: error: ISO C++17 does not allow dynamic exception specifications
283 | Stmt_Impl::Stmt_Impl( odbx_t* handle ) throw( std::exception )
| ^~~~~
odbx_impl.cpp:304:79: error: ISO C++17 does not allow dynamic exception specifications
304 | StmtSimple_Impl::StmtSimple_Impl( odbx_t* handle, const string& sql ) throw( std::exception ) : Stmt_Impl( handle )
| ^~~~~
odbx_impl.cpp:329:44: error: ISO C++17 does not allow dynamic exception specifications
329 | StmtSimple_Impl::StmtSimple_Impl() throw( std::exception ) : Stmt_Impl( NULL )
| ^~~~~
odbx_impl.cpp:368:50: error: ISO C++17 does not allow dynamic exception specifications
368 | Result_Iface* StmtSimple_Impl::execute() throw( std::exception )
| ^~~~~
odbx_impl.cpp:380:55: error: ISO C++17 does not allow dynamic exception specifications
380 | inline void StmtSimple_Impl::_exec_noparams() throw( std::exception )
| ^~~~~
odbx_impl.cpp:455:89: error: ISO C++17 does not allow dynamic exception specifications
455 | Conn_Impl::Conn_Impl( const char* backend, const char* host, const char* port ) throw( std::exception )
| ^~~~~
odbx_impl.cpp:483:106: error: ISO C++17 does not allow dynamic exception specifications
483 | void Conn_Impl::bind( const char* database, const char* who, const char* cred, odbxbind method ) throw( std::exception )
| ^~~~~
odbx_impl.cpp:497:34: error: ISO C++17 does not allow dynamic exception specifications
497 | void Conn_Impl::unbind() throw( std::exception )
| ^~~~~
odbx_impl.cpp:511:34: error: ISO C++17 does not allow dynamic exception specifications
511 | void Conn_Impl::finish() throw( std::exception )
| ^~~~~
odbx_impl.cpp:531:54: error: ISO C++17 does not allow dynamic exception specifications
531 | bool Conn_Impl::getCapability( odbxcap cap ) throw( std::exception )
| ^~~~~
odbx_impl.cpp:548:66: error: ISO C++17 does not allow dynamic exception specifications
548 | void Conn_Impl::getOption( odbxopt option, void* value ) throw( std::exception )
| ^~~~~
odbx_impl.cpp:560:66: error: ISO C++17 does not allow dynamic exception specifications
560 | void Conn_Impl::setOption( odbxopt option, void* value ) throw( std::exception )
| ^~~~~
odbx_impl.cpp:572:90: error: ISO C++17 does not allow dynamic exception specifications
572 | string& Conn_Impl::escape( const char* from, unsigned long fromlen, string& to ) throw( std::exception )
| ^~~~~
odbx_impl.cpp:597:77: error: ISO C++17 does not allow dynamic exception specifications
597 | Stmt_Iface* Conn_Impl::create( const string& sql, Stmt::Type type ) throw( std::exception )
| ^~~~~
odbx_impl.cpp:610:70: error: ISO C++17 does not allow dynamic exception specifications
610 | inline char* Conn_Impl::_resize( char* buffer, size_t size ) throw( std::exception )
| ^~~~~
make[3]: *** [Makefile:571: libopendbxplus_la-odbx_impl.lo] Error 1
make[3]: Leaving directory '/<<PKGBUILDDIR>>/lib'
make[2]: *** [Makefile:521: all-recursive] Error 1
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[1]: *** [Makefile:426: all] Error 2
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:47: build-stamp] Error 2
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2
Reply to: