current ~arch musicbrainz ebuilds fail on AMD64 with GCC 4.1. x86_64-pc-linux-gnu-g++ -shared -nostdlib /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.0-beta20060210/../../../../lib64/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.0-beta20060210/crtbeginS.o .libs/base64.o .libs/browser.o .libs/c_wrapper.o .libs/comhttpsocket.o .libs/comsocket.o .libs/diskid.o .libs/haar.o .libs/http.o .libs/musicbrainz.o .libs/sha1.o .libs/signature.o .libs/sigxdr.o .libs/sigclient.o .libs/sigfft.o .libs/rdfparse.o .libs/rdfextract.o .libs/uuid.o .libs/mp3.o .libs/mb.o /usr/lib64/libexpat.so -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.0-beta20060210 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.0-beta20060210/../../../../x86_64-pc-linux-gnu/lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.0-beta20060210/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.0-beta20060210/libstdc++.so -lm -lc -lgcc_s /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.0-beta20060210/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.0-beta20060210/../../../../lib64/crtn.o -march=nocona -Wl,-O1 -Wl,-soname -Wl,libmusicbrainz.so.4 -o .libs/libmusicbrainz.so.4.0.0 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.0-beta20060210/../../../../x86_64-pc-linux-gnu/bin/ld: warning: creating a DT_TEXTREL in object. /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.0-beta20060210/../../../../x86_64-pc-linux-gnu/bin/ld: .libs/rdfextract.o: relocation R_X86_64_PC32 against `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()@@GLIBCXX_3.4' can not be used when making a shared object; recompile with -fPIC /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.0-beta20060210/../../../../x86_64-pc-linux-gnu/bin/ld: final link failed: Bad value collect2: ld returned 1 exit status make[2]: *** [libmusicbrainz.la] Error 1 make[2]: Leaving directory `/var/tmp/portage/musicbrainz-2.1.2/work/libmusicbrainz-2.1.2/lib' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/musicbrainz-2.1.2/work/libmusicbrainz-2.1.2' make: *** [all] Error 2 !!! ERROR: media-libs/musicbrainz-2.1.2 failed. this only occurs when -fvisibility-inlines-hidden is in the user's CXXFLAGS. it's unknown if this is a regression in GCC as 4.0 works as advertised, but the simple solution is to filter the flag from the ebuilds.
Created attachment 79887 [details, diff] diff against musicbrainz-2.1.2.ebuild
Comment on attachment 79887 [details, diff] diff against musicbrainz-2.1.2.ebuild fix the toolchain, dont add hacks to packages
Created attachment 79903 [details, diff] gcc-4.1.0-pr19664.patch then please include this patch in the Gentoo patchset with the RC1 of GCC 4.1.0.
we dont do patchsets with gcc-4.1, we simply wait until the next snapshot
this change isn't going to be in 4.1 unfortunately, as no one upstream can seem to get their act together regarding hidden visibility. i'll test this locally and bring it up again later when release time rolls around. thanks.