^ /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’ ------------------------------------------------------------------- This is an unstable amd64 chroot image at a tinderbox (==build bot) name: desktop-gcc5_20170517-200136 ------------------------------------------------------------------- gcc-config -l: [1] x86_64-pc-linux-gnu-5.4.0 * Available Python interpreters, in order of preference: [1] python3.4 [2] python2.7 (fallback) Available Ruby profiles: [1] ruby21 (with Rubygems) [2] ruby22 (with Rubygems) * java-config: The following VMs are available for generation-2:
Created attachment 473780 [details] emerge-info.txt
Created attachment 473782 [details] config.log.tbz2
Created attachment 473784 [details] emerge-history.txt
Created attachment 473786 [details] environment
Created attachment 473788 [details] etc.portage.tbz2
Created attachment 473790 [details] media-video:dirac-1.0.2-r1:20170522-103346.log
Created attachment 473792 [details] temp.tbz2
Created attachment 475290 [details, diff] The patched ebuild for dirac First you need to recompile the dev-util/cppunit-1.14.0 with your x86_64-pc-linux-gnu-5.4.0 Then the media-video/dirac-1.0.2-r1 ebuild needs an update since the new dev-util/cppunit-1.14.0 requires the usage of either -std=c++11 or -std=gnu++11 So you need to inherit flag-o-matic in the ebuild + add the: append-cxxflags "-std=c++11" in src_prepare() or src_configure() stages of the ebuild.... And that should fix your problem... assuming all libs used to compile dirac are compiled with gcc 5.4.0
Different error, same solution to the same problem: no c++11 flag. So thank you for much simpler way than what I tried. Will this land in main tree or should we (or whoever else has problem like this) maintain our ebuild?
Well sorry ... my mistake... I didn't have time to go through his thorough log of the emerge... His dev-util/cppunit-1.14.0 is OK , compiled with the right GCC... But his error is not actually the one he has reported in his first post: ---- skip ---- ‘fixture’ was not declared in this scope ---- skip ---- but the error is: ---- skip ---- from /var/tmp/portage/media-video/dirac-1.0.2-r1/work/dirac-1.0.2/unit_tests/cppunit_testsuite.cpp:37: /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options. #error This file requires compiler and library support \ ^ In file included from /usr/include/cppunit/TestAssert.h:8:0, ---- skip ---- So the bug needs a rename and a fix with the proper compiler flag... As for the fixing of the ebuild / landing in main tree.... I guess it will... just after testing how it works with older than 5.4.0 GCC versions... Theoretically it should not have problems since the earliest non-masked version of GCC in portage is 4.9.3 and that version has feature-complete implementation of the 2011 C++ standard... Anyway it is up to the Gentoo Devs like the OP @Toralf Förster :)
Created attachment 485184 [details] dirac build log Same error here (sys-devel/gcc-4.9.3 + dev-util/cppunit-1.14.0), attached log just in case
this compiles with gcc6 in current stable with profiles 17.x
*** Bug 633658 has been marked as a duplicate of this bug. ***