Package: src:ola Version: 0.10.3.nojsmin-2 Severity: normal Dear Maintainer,
[ cppunit 0.14 is not in Debian yet, see #861718. Thus normal for now ] On a rebuild test using ratt I noticed your package doesn't build with cppunit 0.14: [...] libtool: compile: g++ -DHAVE_CONFIG_H -I. -Wdate-time -D_FORTIFY_SOURCE=2 -I./i nclude -I./include -Wall -Wformat -W -fvisibility-inlines-hidden -pthread -Werro r -Wno-error?precated-declarations -Wno-error=unused-parameter -std=gnu++98 -p thread -c tools/ola_trigger/VariableInterpolator.cpp -o tools/ola_trigger/Variab leInterpolator.o >/dev/null 2>&1 In file included from /usr/include/cppunit/TestAssert.h:8:0, from /usr/include/cppunit/TestCase.h:6, from /usr/include/cppunit/TestCaller.h:5, from /usr/include/cppunit/extensions/HelperMacros.h:9, from common/testing/MockUDPSocket.cpp:23: /usr/include/cppunit/tools/StringHelper.h:22:15: error: 'enable_if' in namespace 'std' does not name a template type typename std::enable_if<!std::is_enum<T>::value, std::string>::type toString(co nst T& x) ^~~~~~~~~ /usr/include/cppunit/tools/StringHelper.h:22:24: error: expected unqualified-id before '<' token typename std::enable_if<!std::is_enum<T>::value, std::string>::type toString(co nst T& x) ^ /usr/include/cppunit/tools/StringHelper.h:31:15: error: 'enable_if' in namespace 'std' does not name a template type typename std::enable_if<std::is_enum<T>::value, std::string>::type toString(const T& x) ^~~~~~~~~ /usr/include/cppunit/tools/StringHelper.h:31:24: error: expected unqualified-id before '<' token typename std::enable_if<std::is_enum<T>::value, std::string>::type toString(const T& x) ^ In file included from /usr/include/cppunit/Exception.h:4:0, from /usr/include/cppunit/TestCaller.h:4, from /usr/include/cppunit/extensions/HelperMacros.h:9, from common/testing/MockUDPSocket.cpp:23: /usr/include/cppunit/TestAssert.h: In static member function 'static std::__cxx11::string CppUnit::assertion_traits<T>::toString(const T&)': /usr/include/cppunit/TestAssert.h:74:16: error: 'toString' is not a member of 'CppUnit::StringHelper' return CPPUNIT_NS::StringHelper::toString(x); ^ In file included from /usr/include/cppunit/extensions/HelperMacros.h:9:0, from common/testing/MockUDPSocket.cpp:23: /usr/include/cppunit/TestCaller.h: At global scope: /usr/include/cppunit/TestCaller.h:159:37: error: 'std::function' has not been declared TestCaller(std::string name, std::function<void()> test_function, Fixture* fixture): ^~~~~~~~ /usr/include/cppunit/TestCaller.h:159:45: error: expected ',' or '...' before '<' token TestCaller(std::string name, std::function<void()> test_function, Fixture* fixture): ^ /usr/include/cppunit/TestCaller.h:200:8: error: 'function' in namespace 'std' does not name a template type std::function<void()> m_test_function; ^~~~~~~~ /usr/include/cppunit/TestCaller.h: In constructor 'CppUnit::TestCaller<Fixture>::TestCaller(std::__cxx11::string, CppUnit::TestCaller<Fixture>::TestMethod)': /usr/include/cppunit/TestCaller.h:121:6: error: class 'CppUnit::TestCaller<Fixture>' does not have any field named 'm_test_function' m_test_function( std::bind(test, m_fixture) ) ^~~~~~~~~~~~~~~ /usr/include/cppunit/TestCaller.h:121:23: error: 'bind' is not a member of 'std' m_test_function( std::bind(test, m_fixture) ) ^~~ /usr/include/cppunit/TestCaller.h: In constructor 'CppUnit::TestCaller<Fixture>::TestCaller(std::__cxx11::string, CppUnit::TestCaller<Fixture>::TestMethod, Fixture&)': /usr/include/cppunit/TestCaller.h:138:6: error: class 'CppUnit::TestCaller<Fixture>' does not have any field named 'm_test_function' m_test_function( std::bind(test, &fixture) ) ^~~~~~~~~~~~~~~ /usr/include/cppunit/TestCaller.h:138:23: error: 'bind' is not a member of 'std' m_test_function( std::bind(test, &fixture) ) ^~~ /usr/include/cppunit/TestCaller.h: In constructor 'CppUnit::TestCaller<Fixture>::TestCaller(std::__cxx11::string, CppUnit::TestCaller<Fixture>::TestMethod, Fixture*)': /usr/include/cppunit/TestCaller.h:155:6: error: class 'CppUnit::TestCaller<Fixture>' does not have any field named 'm_test_function' m_test_function( std::bind(test, fixture) ) ^~~~~~~~~~~~~~~ m_test_function( std::bind(test, fixture) ) ^~~ /usr/include/cppunit/TestCaller.h: In constructor 'CppUnit::TestCaller<Fixture>::TestCaller(std::__cxx11::string, int)': /usr/include/cppunit/TestCaller.h:162:17: error: 'fixture' was not declared in this scope m_fixture(fixture), ^~~~~~~ /usr/include/cppunit/TestCaller.h:163:7: error: class 'CppUnit::TestCaller<Fixture>' does not have any field named 'm_test_function' m_test_function(test_function) ^~~~~~~~~~~~~~~ /usr/include/cppunit/TestCaller.h:163:23: error: 'test_function' was not declared in this scope m_test_function(test_function) ^~~~~~~~~~~~~ /usr/include/cppunit/TestCaller.h: In member function 'void CppUnit::TestCaller<Fixture>::runTest()': /usr/include/cppunit/TestCaller.h:175:23: error: there are no arguments to 'm_test_function' that depend on a template parameter, so a declaration of 'm_test_function' must be available [-fpermissive] m_test_function(); ^ /usr/include/cppunit/TestCaller.h:175:23: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated) In file included from /usr/include/cppunit/Exception.h:4:0, from /usr/include/cppunit/TestCaller.h:4, from /usr/include/cppunit/extensions/HelperMacros.h:9, from common/testing/MockUDPSocket.cpp:23: /usr/include/cppunit/extensions/TestNamer.h: In member function 'std::__cxx11::string CppUnit::TestNamer::getTestNameFor(const string&, const E&) const': /usr/include/cppunit/extensions/TestNamer.h:70:69: error: 'toString' is not a member of 'CppUnit::StringHelper' return getTestNameFor(testMethodName) + " with parameter: " + CPPUNIT_NS::StringHelper::toString(val); ^ Makefile:14013: recipe for target 'common/testing/MockUDPSocket.lo' failed make[3]: *** [common/testing/MockUDPSocket.lo] Error 1 make[3]: *** Waiting for unfinished jobs.... make[3]: Leaving directory '/<<PKGBUILDDIR>>' Makefile:15352: recipe for target 'all-recursive' failed make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory '/<<PKGBUILDDIR>>' Makefile:6754: recipe for target 'all' failed make[1]: *** [all] Error 2 make[1]: Leaving directory '/<<PKGBUILDDIR>>' dh_auto_build: make -j4 returned exit code 2 debian/rules:14: recipe for target 'build' failed make: *** [build] Error 2 dpkg-buildpackage: error: debian/rules build gave error exit status 2 [...] Upstream says (for the similar case of gnuradio, though this here intestingly doesn't have the #error from the libstdc++ headers...): 01:18 <@moggi> _rene_: looks like gnu radio is not using c++11 01:19 -!- arnaud_versini [~Thunderbi@2a01:e35:8b48:cd20:c2cc:eeff:feff:541a] has quit [Ping timeout: 255 seconds] 01:24 -!- ht [~h...@p5ddb6713.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 01:39 <@moggi> _rene_: https://github.com/gnuradio/gnuradio/blob/master/CMakeLists.txt#L134 [...] 07:14 < _rene_> moggi: hmm, but you can't require c++11... not everyone out there uses it.. 07:15 < _rene_> moggi: final stats: 12/54 failed. 07:15 <@moggi> _rene_: cppunit reguires c++11 now According to https://bugzilla.redhat.com/show_bug.cgi?id11694 it should have failed earlier in configure/autoreconf but that I don't see at all in the buildlog... On the flip-side it suggests that this is fixed upstream already in some way? I put my package for testing to https://people.debian.org/~rene/libreoffice/5.4/cppunit/ Regards, Rene