Created attachment 456740 [details] build.log [100%] Linking CXX executable test_runner cd /var/tmp/portage/media-libs/musicbrainz-3.0.3/work/libmusicbrainz-3.0.3/test && /usr/bin/cmake -E cmake_link_script CMakeFiles/test_runner.dir/link.txt --verbose=1 /usr/bin/x86_64-pc-linux-gnu-g++ -O2 -march=native -pipe -ggdb -gz -Wl,-O1 -Wl,--as-needed CMakeFiles/test_runner.dir/main.cpp.o CMakeFiles/test_runner.dir/test_disc.cpp.o CMakeFiles/test_runner.dir/test_first.cpp.o CMakeFiles/test_runner.dir/test_model.cpp.o CMakeFiles/test_runner.dir/test_parser.cpp.o CMakeFiles/test_runner.dir/test_parser_artist.cpp.o CMakeFiles/test_runner.dir/test_parser_label.cpp.o CMakeFiles/test_runner.dir/test_parser_release.cpp.o CMakeFiles/test_runner.dir/test_parser_releasegroup.cpp.o CMakeFiles/test_runner.dir/test_parser_track.cpp.o CMakeFiles/test_runner.dir/test_parser_user.cpp.o CMakeFiles/test_runner.dir/test_utils.cpp.o CMakeFiles/test_runner.dir/test_ws.cpp.o CMakeFiles/test_runner.dir/test_ws_filters.cpp.o CMakeFiles/test_runner.dir/test_ws_includes.cpp.o -o test_runner -rdynamic ../src/libmusicbrainz3.so.6.3.0 -lneon -lcppunit -ldiscid -Wl,-rpath,/var/tmp/portage/media-libs/musicbrainz-3.0.3/work/libmusicbrainz-3.0.3/src /var/tmp/portage/media-libs/musicbrainz-3.0.3/work/libmusicbrainz-3.0.3/test/main.cpp:25: error: undefined reference to 'CppUnit::TestFactoryRegistry::getRegistry(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
Created attachment 456742 [details] emerge --info
Dependency on dev-util/cppunit is declared in the ebuild. Your build log already states the the library is found. But you have a broken toolchain due to gcc update. Please read gcc news items. https://gitweb.gentoo.org/data/gentoo-news.git/tree/2014-10-26-gcc_4_7_introduced_new_c++11_abi/2014-10-26-gcc_4_7_introduced_new_c++11_abi.en.txt?id=79af08d33efb4561657f7c25b42f407ad8f4ffeb https://gitweb.gentoo.org/data/gentoo-news.git/tree/2015-10-22-gcc-5-new-c++11-abi/2015-10-22-gcc-5-new-c++11-abi.en.txt?id=79af08d33efb4561657f7c25b42f407ad8f4ffeb
The only dependency on cppunit is when the test USE flag is enabled. I'm building it with -test. $ grep cppunit /usr/portage/media-libs/musicbrainz/musicbrainz-3.0.3.ebuild test? ( dev-util/cppunit )" And yes, I know the error itself was because of the gcc upgrade that I was performing, but that error was just how I found out about the broken dependency.
Hi, I still have this problem. What is the solution, if any? TIA
Hi. I have the same Problem. musicbrainz-3.0.3 gets pulled in by kscd, which gets pulled in by kmultimedia-meta (musicbrainz-5.) compiles just fine. Here ist where it starts going down the drain: [100%] Linking CXX executable test_runner cd /var/tmp/portage/media-libs/musicbrainz-3.0.3/work/libmusicbrainz-3.0.3/test && /usr/bin/cmake -E cmake_link_script CMakeFiles/test_runner.dir/link.txt --verbose=1 /usr/bin/x86_64-pc-linux-gnu-g++ -O2 -march=amdfam10 -pipe -fomit-frame-pointer -Wl,-O1 -Wl,--as-needed CMakeFiles/test_runner.dir/main.cpp.o CMakeFiles/test_runner.dir/test_disc.cpp.o CMakeFiles/test_runner.dir/test_first.cpp.o CMakeFiles/test_runner.dir/test_model.cpp.o CMakeFiles/test_runner.dir/test_parser.cpp.o CMakeFiles/test_runner.dir/test_parser_artist.cpp.o CMakeFiles/test_runner.dir/test_parser_label.cpp.o CMakeFiles/test_runner.dir/test_parser_release.cpp.o CMakeFiles/test_runner.dir/test_parser_releasegroup.cpp.o CMakeFiles/test_runner.dir/test_parser_track.cpp.o CMakeFiles/test_runner.dir/test_parser_user.cpp.o CMakeFiles/test_runner.dir/test_utils.cpp.o CMakeFiles/test_runner.dir/test_ws.cpp.o CMakeFiles/test_runner.dir/test_ws_filters.cpp.o CMakeFiles/test_runner.dir/test_ws_includes.cpp.o -o test_runner -Wl,-rpath,/var/tmp/portage/media-libs/musicbrainz-3.0.3/work/libmusicbrainz-3.0.3/src -rdynamic ../src/libmusicbrainz3.so.6.3.0 -lneon -lcppunit -ldiscid CMakeFiles/test_runner.dir/main.cpp.o: In function `main': main.cpp:(.text.startup+0xc2): undefined reference to `CppUnit::TestFactoryRegistry::getRegistry(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' main.cpp:(.text.startup+0x11b): undefined reference to `CppUnit::TestRunner::run(CppUnit::TestResult&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' main.cpp:(.text.startup+0x169): undefined reference to `CppUnit::CompilerOutputter::CompilerOutputter(CppUnit::TestResultCollector*, std::ostream&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' I have attached the required files. If you need more info or some testing on my side please let me know.
Created attachment 490204 [details] emerge --info
Created attachment 490206 [details] emerge -pqv
Created attachment 490208 [details] build.log
Hi, Thank you, for the info. I have found a by-pass. It is described here: https://bugs.funtoo.org/browse/FL-3939 By masking dev-util/cppunit-1.14.0 and using a previous version of it, I can compile and install musicbrainz-3 and the rest. Best
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7156e567691d13c04da466f5f9392a124d1618e5 commit 7156e567691d13c04da466f5f9392a124d1618e5 Author: Andreas Sturmlechner <asturm@gentoo.org> AuthorDate: 2017-11-10 12:35:15 +0000 Commit: Andreas Sturmlechner <asturm@gentoo.org> CommitDate: 2017-11-10 12:37:58 +0000 media-libs/musicbrainz: Disable unittests if USE=!test Closes: https://bugs.gentoo.org/603112 Package-Manager: Portage-2.3.8, Repoman-2.3.4 media-libs/musicbrainz/musicbrainz-3.0.3.ebuild | 10 +++++++++- media-libs/musicbrainz/musicbrainz-5.1.0.ebuild | 5 +++++ 2 files changed, 14 insertions(+), 1 deletion(-)