Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 603112 - media-libs/musicbrainz-3.0.3[-test] builds unittests without depending on dev-util/cppunit
Summary: media-libs/musicbrainz-3.0.3[-test] builds unittests without depending on dev...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Sound Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-12-19 15:30 UTC by Andrei Slavoiu
Modified: 2017-11-10 12:38 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (media-libs:musicbrainz-3.0.3:20161219-151155.log,69.57 KB, text/x-log)
2016-12-19 15:30 UTC, Andrei Slavoiu
Details
emerge --info (emerge.info,7.35 KB, text/plain)
2016-12-19 15:35 UTC, Andrei Slavoiu
Details
emerge --info (emerge_info,7.29 KB, text/plain)
2017-08-23 10:28 UTC, noldor
Details
emerge -pqv (emerge_pqv,128 bytes, text/plain)
2017-08-23 10:28 UTC, noldor
Details
build.log (build.log,180.05 KB, text/x-log)
2017-08-23 10:29 UTC, noldor
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andrei Slavoiu 2016-12-19 15:30:59 UTC
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&)'
Comment 1 Andrei Slavoiu 2016-12-19 15:35:17 UTC
Created attachment 456742 [details]
emerge --info
Comment 2 Johannes Huber (RETIRED) gentoo-dev 2017-01-30 18:04:28 UTC
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
Comment 3 Andrei Slavoiu 2017-01-30 20:22:02 UTC
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.
Comment 4 David Palao 2017-08-22 07:25:04 UTC
Hi,
I still have this problem.
What is the solution, if any?

TIA
Comment 5 noldor 2017-08-23 10:26:04 UTC
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.
Comment 6 noldor 2017-08-23 10:28:17 UTC
Created attachment 490204 [details]
emerge --info
Comment 7 noldor 2017-08-23 10:28:49 UTC
Created attachment 490206 [details]
emerge -pqv
Comment 8 noldor 2017-08-23 10:29:37 UTC
Created attachment 490208 [details]
build.log
Comment 9 David Palao 2017-08-24 12:09:52 UTC
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
Comment 10 Larry the Git Cow gentoo-dev 2017-11-10 12:38:10 UTC
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(-)