i686-pc-linux-gnu-gcc -O2 -pipe -fomit-frame-pointer -fforce-addr -mtune=i686 -Os -fno-strict-aliasing -Wall -DUSE_XFT -I/usr/include/freetype2 -DUSE_PNG -DU SE_XSETTINGS -DUSE_JPG -DUSE_DNOTIFY -DDEFAULTTHEME=\"\" -DCONFDEFAULTS=\"\" -DPIXMAPSDIR=\"/usr/share/pixmaps/\" -DDATADIR=\"/usr/share\" -DPKGDATADIR=\"/us r/share/matchbox\" -I../libmb -Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu -o .libs/miniwave miniwave.o ../libmb/.libs/libmb.so /usr/lib/libXft.so /usr/lib/ libXrender.so /usr/lib/libfontconfig.so /usr/lib/libxml2.so /usr/lib/libfreetype.so /usr/lib/libpng12.so -lm -lz /usr/lib/libjpeg.so /usr/lib/libXsettings-cl ient.so /usr/lib/libXpm.so /usr/lib/libXext.so /usr/lib/libX11.so /usr/lib/libXau.so /usr/lib/libXdmcp.so -ldl ../libmb/.libs/libmb.so: undefined reference to `XShmCreateImage' ../libmb/.libs/libmb.so: undefined reference to `XShmQueryExtension' ../libmb/.libs/libmb.so: undefined reference to `XShmAttach' ../libmb/.libs/libmb.so: undefined reference to `XShmPutImage' ../libmb/.libs/libmb.so: undefined reference to `XShmDetach' collect2: ld returned 1 exit status make[3]: *** [monolaunch] Error 1 ../libmb/.libs/libmb.so: undefined reference to `XShmCreateImage' ../libmb/.libs/libmb.so: undefined reference to `XShmQueryExtension' ../libmb/.libs/libmb.so: undefined reference to `XShmAttach' ../libmb/.libs/libmb.so: undefined reference to `XShmPutImage' ../libmb/.libs/libmb.so: undefined reference to `XShmDetach' collect2: ld returned 1 exit status make[3]: *** [miniwave] Error 1 make[3]: Leaving directory `/var/tmp/portage/x11-wm/matchbox-0.7.1/work/matchbox-0.7.1/util' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/x11-wm/matchbox-0.7.1/work/matchbox-0.7.1/util' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/x11-wm/matchbox-0.7.1/work/matchbox-0.7.1' make: *** [all-recursive-am] Error 2 * * ERROR: x11-wm/matchbox-0.7.1 failed. * Call stack: * ebuild.sh, line 1701: Called dyn_compile * ebuild.sh, line 1039: Called qa_call 'src_compile' * ebuild.sh, line 44: Called src_compile * matchbox-0.7.1.ebuild, line 44: Called die * The specific snippet of code: * emake || die "Make feiled" * The die message: * Make feiled * * If you need support, post the topmost build error, and the call stack if relevant. * A complete build log is located at '/var/tmp/portage/x11-wm/matchbox-0.7.1/temp/build.log'. * hardened x11-wm # emerge matchbox -qpv [ebuild N ] x11-wm/matchbox-0.7.1 USE="jpeg nls png -debug"
I can't reproduce your bug, I have all this symbols exported by /usr/lib/libXext.so which is used when in linking. The problem might be related to the --as-needed, but that as well sounds unreasonable as /usr/lib/libXext.so is explicitly used for linking. Please re-emerge x11-libs/libXext and check that it exports the needed functions. In my system I get: $ readelf -s /usr/lib/libXext.so | egrep 'XShmCreateImage|XShmQueryExtension|XShmAttach|XShmPutImage|XShmDetach' 12: 00007720 202 FUNC GLOBAL DEFAULT 10 XShmDetach 118: 00008170 279 FUNC GLOBAL DEFAULT 10 XShmCreateImage 119: 00007fe0 397 FUNC GLOBAL DEFAULT 10 XShmPutImage 122: 000077f0 245 FUNC GLOBAL DEFAULT 10 XShmAttach 152: 00007920 33 FUNC GLOBAL DEFAULT 10 XShmQueryExtension Also, if the problem persists, please re-open this bug and post your emerge --info so I can try to reproduce in the same environment.
I was the --as-needed causing the failure. LDFLAGS="-Wl,--as-needed" emerge matchbox (fails) LDFLAGS="" emerge matchbox # (works) LDFLAGS="-Wl,-O1,--hash-style=gnu" emerge matchbox (works) It works with my orig ldflags and following changes to the ebuild. + inherit flag-o-matic ... use debug && myconf="${myconf} --enable-debug" + append-ldflags -Wl,--no-as-needed econf ${myconf} || die "Configuration failed"
I will be away from town for 6 days starting today. I'll check this problem on my return.
Fixed in CVS, sorry for the delay.