Bug#925661: cppunit: ftbfs with GCC-9
Package: src:cppunit
Version: 1.14.0-3
Severity: normal
Tags: sid bullseye
User: debian-gcc@lists.debian.org
Usertags: ftbfs-gcc-9
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-9/g++-9, but succeeds to build with gcc-8/g++-8. The
severity of this report will be raised before the bullseye release,
so nothing has to be done for the buster release.
The full build log can be found at:
http://people.debian.org/~doko/logs/gcc9-20190321/cppunit_1.14.0-3_unstable_gcc9.log
The last lines of the build log are at the end of this report.
To build with GCC 9, either set CC=gcc-9 CXX=g++-9 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-9/porting_to.html
GCC 9 also passes the linker option --as-needed by default; typical
build issues are passing libraries before object files to the linker,
or underlinking of convenience libraries built from the same source.
[...]
../../include/cppunit/extensions/Orthodox.h:56:38: required from here
../../include/cppunit/extensions/Orthodox.h:77:23: error: implicitly-declared 'constexpr OrthodoxTest::Value::Value(const OrthodoxTest::Value&)' is deprecated [-Werror=deprecated-copy]
77 | CPPUNIT_ASSERT (c == call (a));
../../include/cppunit/TestAssert.h:240:37: note: in definition of macro 'CPPUNIT_ASSERT'
240 | ( CPPUNIT_NS::Asserter::failIf( !(condition), \
| ^~~~~~~~~
In file included from OrthodoxTest.cpp:2:
OrthodoxTest.h:41:12: note: because 'OrthodoxTest::Value' has user-provided 'OrthodoxTest::Value& OrthodoxTest::Value::operator=(const OrthodoxTest::Value&)'
41 | Value& operator= ( const Value& v )
| ^~~~~~~~
In file included from OrthodoxTest.cpp:3:
../../include/cppunit/extensions/Orthodox.h:87:63: note: initializing argument 1 of 'ClassUnderTest CppUnit::Orthodox<ClassUnderTest>::call(ClassUnderTest) [with ClassUnderTest = OrthodoxTest::Value]'
87 | ClassUnderTest Orthodox<ClassUnderTest>::call (ClassUnderTest object)
| ~~~~~~~~~~~~~~~^~~~~~
In file included from ../../include/cppunit/TestCase.h:6,
from ../../include/cppunit/TestCaller.h:5,
from ../../include/cppunit/extensions/HelperMacros.h:9,
from OrthodoxTest.h:4,
from OrthodoxTest.cpp:2:
../../include/cppunit/extensions/Orthodox.h:80:23: error: implicitly-declared 'constexpr OrthodoxTest::Value::Value(const OrthodoxTest::Value&)' is deprecated [-Werror=deprecated-copy]
80 | CPPUNIT_ASSERT (c == call (b));
../../include/cppunit/TestAssert.h:240:37: note: in definition of macro 'CPPUNIT_ASSERT'
240 | ( CPPUNIT_NS::Asserter::failIf( !(condition), \
| ^~~~~~~~~
In file included from OrthodoxTest.cpp:2:
OrthodoxTest.h:41:12: note: because 'OrthodoxTest::Value' has user-provided 'OrthodoxTest::Value& OrthodoxTest::Value::operator=(const OrthodoxTest::Value&)'
41 | Value& operator= ( const Value& v )
| ^~~~~~~~
In file included from OrthodoxTest.cpp:3:
../../include/cppunit/extensions/Orthodox.h:87:63: note: initializing argument 1 of 'ClassUnderTest CppUnit::Orthodox<ClassUnderTest>::call(ClassUnderTest) [with ClassUnderTest = OrthodoxTest::Value]'
87 | ClassUnderTest Orthodox<ClassUnderTest>::call (ClassUnderTest object)
| ~~~~~~~~~~~~~~~^~~~~~
../../include/cppunit/extensions/Orthodox.h: In instantiation of 'ClassUnderTest CppUnit::Orthodox<ClassUnderTest>::call(ClassUnderTest) [with ClassUnderTest = OrthodoxTest::ValueBadAssignment]':
../../include/cppunit/extensions/Orthodox.h:77:5: required from 'void CppUnit::Orthodox<ClassUnderTest>::runTest() [with ClassUnderTest = OrthodoxTest::ValueBadAssignment]'
../../include/cppunit/extensions/Orthodox.h:56:38: required from here
../../include/cppunit/extensions/Orthodox.h:89:12: error: implicitly-declared 'constexpr OrthodoxTest::ValueBadAssignment::ValueBadAssignment(const OrthodoxTest::ValueBadAssignment&)' is deprecated [-Werror=deprecated-copy]
89 | return object;
| ^~~~~~
In file included from OrthodoxTest.cpp:2:
OrthodoxTest.h:159:25: note: because 'OrthodoxTest::ValueBadAssignment' has user-provided 'OrthodoxTest::ValueBadAssignment& OrthodoxTest::ValueBadAssignment::operator=(const OrthodoxTest::ValueBadAssignment&)'
159 | ValueBadAssignment &operator =( const ValueBadAssignment & )
| ^~~~~~~~
In file included from OrthodoxTest.cpp:3:
../../include/cppunit/extensions/Orthodox.h: In instantiation of 'ClassUnderTest CppUnit::Orthodox<ClassUnderTest>::call(ClassUnderTest) [with ClassUnderTest = OrthodoxTest::Value]':
../../include/cppunit/extensions/Orthodox.h:77:5: required from 'void CppUnit::Orthodox<ClassUnderTest>::runTest() [with ClassUnderTest = OrthodoxTest::Value]'
../../include/cppunit/extensions/Orthodox.h:56:38: required from here
../../include/cppunit/extensions/Orthodox.h:89:12: error: implicitly-declared 'constexpr OrthodoxTest::Value::Value(const OrthodoxTest::Value&)' is deprecated [-Werror=deprecated-copy]
89 | return object;
| ^~~~~~
In file included from OrthodoxTest.cpp:2:
OrthodoxTest.h:41:12: note: because 'OrthodoxTest::Value' has user-provided 'OrthodoxTest::Value& OrthodoxTest::Value::operator=(const OrthodoxTest::Value&)'
41 | Value& operator= ( const Value& v )
| ^~~~~~~~
g++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../../include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Werror -Wall -Wextra -pedantic -c -o RepeatedTestTest.o RepeatedTestTest.cpp
g++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../../include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Werror -Wall -Wextra -pedantic -c -o StringToolsTest.o StringToolsTest.cpp
cc1plus: all warnings being treated as errors
make[5]: *** [Makefile:754: OrthodoxTest.o] Error 1
make[5]: *** Waiting for unfinished jobs....
make[5]: Leaving directory '/<<PKGBUILDDIR>>/examples/cppunittest'
make[4]: *** [Makefile:1025: check-am] Error 2
make[4]: Leaving directory '/<<PKGBUILDDIR>>/examples/cppunittest'
make[3]: *** [Makefile:381: check-recursive] Error 1
make[3]: Leaving directory '/<<PKGBUILDDIR>>/examples'
make[2]: *** [Makefile:576: check-recursive] Error 1
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_test: make -j4 check VERBOSE=1 returned exit code 2
make[1]: *** [debian/rules:17: override_dh_auto_test] Error 2
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:6: build-arch] Error 2
dpkg-buildpackage: error: debian/rules build-arch subprocess returned exit status 2
Reply to: