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

Reply via email to