Here's the relevant output: /usr/lib/gcc/i686-pc-linux-gnu/4.3.3/../../../../i686-pc-linux-gnu/bin/ld: -shared and -r are incompatible collect2: ld returned 1 exit status make[4]: *** [libschroedinger-1.0.la] Error 1 make[4]: Leaving directory `/var/tmp/portage/media-libs/schroedinger-1.0.7/work/schroedinger-1.0.7/schroedinger' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/var/tmp/portage/media-libs/schroedinger-1.0.7/work/schroedinger-1.0.7/schroedinger' make[2]: *** [all] Error 2 make[2]: Leaving directory `/var/tmp/portage/media-libs/schroedinger-1.0.7/work/schroedinger-1.0.7/schroedinger' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/media-libs/schroedinger-1.0.7/work/schroedinger-1.0.7' make: *** [all] Error 2 Reproducible: Always Steps to Reproduce: 1. # USE=gold" emerge =binutils-2.19.51.0.4 2. # emerge =media-libs/schroedinger-1.0.7 Actual Results: Emerge fails
I can confirm this with kdelibs: /usr/lib/gcc/i686-pc-linux-gnu/4.3.2/../../../../i686-pc-linux-gnu/bin/ld: -shared and -r are incompatible collect2: ld returned 1 exit status make[2]: *** [kimg_xview.la] Error 1 make[2]: *** Waiting for unfinished jobs.... /usr/lib/gcc/i686-pc-linux-gnu/4.3.2/../../../../i686-pc-linux-gnu/bin/ld: -shared and -r are incompatible collect2: ld returned 1 exit status The package links cleanly when using the old linker.
Some more details about the kdelibs breakage. For me, on kdelibs-3.5.10-r5, gold breaks here: /bin/sh ../libtool --silent --tag=CXX --mode=link x86_64-pc-linux-gnu-g++ -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -DNDEBUG -DNO_DEBUG -O2 -march=native -O2 -pipe -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -fexceptions -o kimg_eps.la -rpath /usr/kde/3.5/lib64/kde3 -module -avoid-version -export-symbols-regex 'kimgio_.*_(read|write)' -no-undefined -Wl,--no-undefined -Wl,--allow-shlib-undefined -L/usr/kde/3.5/lib64 -L/usr/qt/3/lib64 -L/usr/lib64 eps.lo ../kdecore/libkdecore.la /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.3/../../../../x86_64-pc-linux-gnu/bin/ld: -shared and -r are incompatible collect2: ld returned 1 exit status Interestingly, when I remove --silent, the expanded libtool output is: /usr/bin/x86_64-pc-linux-gnu-nm -B .libs/eps.o | sed -n -e 's/^.*[ ]\([ABCDGISTW][ABCDGISTW]*\)[ ][ ]*\(\)\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2\3 \3/p' | /bin/sed 's/.* //' | sort | uniq > .libs/kimg_eps.exp /bin/grep -E -e "kimgio_.*_(read|write)" ".libs/kimg_eps.exp" > ".libs/kimg_eps.expT" mv -f ".libs/kimg_eps.expT" ".libs/kimg_eps.exp" x86_64-pc-linux-gnu-g++ -shared -nostdlib -march=native -Wl,--no-undefined -Wl,--allow-shlib-undefined -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -DNDEBUG -DNO_DEBUG -O2 -O2 -pipe -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -fexceptions /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.3/../../../../lib64/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.3/crtbeginS.o .libs/eps.o -Wl,--rpath -Wl,/usr/kde/3.5/lib64 -Wl,--rpath -Wl,/usr/qt/3/lib64 -Wl,--rpath -Wl,/usr/lib64 -L/var/tmp/portage/kde-base/kdelibs-3.5.10-r5/work/kdelibs-3.5.10/kdefx/.libs -L/usr/X11R6/lib64 -L/usr/lib64/mysql -L/var/tmp/portage/kde-base/kdelibs-3.5.10-r5/work/kdelibs-3.5.10/dcop/.libs -L/usr/kde/3.5/lib64 -L/usr/qt/3/lib64 -L/usr/lib64 ../kdecore/.libs/libkdecore.so /var/tmp/portage/kde-base/kdelibs-3.5.10-r5/work/kdelibs-3.5.10/dcop/.libs/libDCOP.so -lresolv -lutil /usr/lib64/libart_lgpl_2.so /usr/lib64/libidn.so /var/tmp/portage/kde-base/kdelibs-3.5.10-r5/work/kdelibs-3.5.10/kdefx/.libs/libkdefx.so /usr/qt/3/lib64/libqt-mt.so /usr/lib64/libmng.so /usr/lib64/liblcms.so /usr/lib64/libjpeg.so /usr/lib64/libXi.so /usr/lib64/libXrandr.so /usr/lib64/libXcursor.so /usr/lib64/libXfixes.so /usr/lib64/libXinerama.so /usr/lib64/libXft.so /usr/lib64/libfontconfig.so /usr/lib64/libfreetype.so /usr/lib64/libexpat.so /usr/lib64/libpng12.so -lz /usr/lib64/libXext.so /usr/lib64/libSM.so -luuid /usr/lib64/libICE.so -lpthread /usr/lib64/libXrender.so /usr/lib64/libX11.so /usr/lib64/libxcb-xlib.so /usr/lib64/libxcb.so /usr/lib64/libXau.so /usr/lib64/libXdmcp.so -ldl -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.3 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.3/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.3/../../../../x86_64-pc-linux-gnu/lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.3/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.3/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.3/../../../../lib64/crtn.o -Wl,-soname -Wl,kimg_eps.so -Wl,-retain-symbols-file -Wl,.libs/kimg_eps.exp -o .libs/kimg_eps.so /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.3/../../../../x86_64-pc-linux-gnu/bin/ld: -shared and -r are incompatible collect2: ld returned 1 exit status So gold terminates with "-shared and -r are incompatible" even though -r doesn't appear anywhere in the argument list!
media-libs/schroedinger-1.0.7 compiles and installs clean with gold 2.20.51.0.2
thanks for testin