... GISCAN Gvc-1.0.gir GISCAN St-1.0.gir CCLD libgnome-shell.la CCLD gnome-shell-real CCLD run-js-test GEN gnome-shell GICOMP Gvc-1.0.gir GICOMP St-1.0.gir GISCAN Shell-0.1.gir /var/tmp/portage/gnome-base/gnome-shell-3.2.1-r1/work/gnome-shell-3.2.1/src/tmp-introspectef9sxS/.libs/Shell-0.1: error while loading shared libraries: libgnome-bluetooth-applet.so.0: cannot open shared object file: No such file or directory Command '['/var/tmp/portage/gnome-base/gnome-shell-3.2.1-r1/work/gnome-shell-3.2.1/src/tmp-introspectef9sxS/Shell-0.1', '--introspect-dump=/var/tmp/portage/gnome-base/gnome-shell-3.2.1-r1/work/gnome-shell-3.2.1/src/tmp-introspectef9sxS/functions.txt,/var/tmp/portage/gnome-base/gnome-shell-3.2.1-r1/work/gnome-shell-3.2.1/src/tmp-introspectef9sxS/dump.xml']' returned non-zero exit status 127 make[3]: *** [Shell-0.1.gir] Error 1 make[3]: Leaving directory `/var/tmp/portage/gnome-base/gnome-shell-3.2.1-r1/work/gnome-shell-3.2.1/src' make[2]: *** [all] Error 2 make[2]: Leaving directory `/var/tmp/portage/gnome-base/gnome-shell-3.2.1-r1/work/gnome-shell-3.2.1/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/gnome-base/gnome-shell-3.2.1-r1/work/gnome-shell-3.2.1' make: *** [all] Error 2
libgnome-bluetooth-applet is a private library so they shouldn't be linking against it anyway. I tried to work out how to tell libtool to add it to rpath but got totally lost. I'll see if I can work out how to fix the automagic gnome-bluetooth dependency so I can at least merge USE=-bluetooth.
Created attachment 298321 [details, diff] 0001-Fix-automagic-gnome-bluetooth-dependency.patch
OK, that seems to work. Add IUSE="bluetooth" and ECONF="$(use_with bluetooth)". Let me know if this looks good for upstreaming.
(In reply to comment #1) > libgnome-bluetooth-applet is a private library so they shouldn't be linking > against it anyway. Unfortunately, they have to because of gobject-introspection limitations; see https://bugzilla.gnome.org/show_bug.cgi?id=639324 Basically, if libgnome-shell does not link to libgnome-bluetooth-applet.so, then gobject-introspection cannot find it at runtime (since it's installed in /usr/lib/gnome-bluetooth, not /usr/lib) and therefore gnome-shell fails when it tries to import GnomeBluetoothApplet introspection from javascript. ---------------- Now, there are two issues here: 1. you are experiencing a build failure when building gnome-shell with bluetooth enabled. 2. gnome-shell's gnome-bluetooth detection is automagic. This is something that we wanted to fix but never got around to, so thank you for the patch. Although 2 is a workaround for 1, we still need to understand and fix 1. Therefore, please attach your 'emerge --info gnome-shell gnome-bluetooth gobject-introspection', the full verbose gnome-shell failure build log (when building with MAKEOPTS="V=1"), say whether you are using any special gcc specs (such as forced --as-needed), etc.
Created attachment 298375 [details] /tmp/emerge.info
Created attachment 298377 [details] /var/log/portage/gnome-base:gnome-shell-3.2.1-r1:20120108-232621.log
Not using any special gcc specs.
(In reply to comment #6) > Created attachment 298377 [details] > /var/log/portage/gnome-base:gnome-shell-3.2.1-r1:20120108-232621.log Your Shell-0.1 linking output is different from what I see on my machine: you have "-lgnome-keyring -lgnome-bluetooth-applet -lm", while I have "-lgnome-keyring /usr/lib64/gnome-bluetooth/libgnome-bluetooth-applet.so -ldbus-glib-1 -ldbus-1 -lpthread -lm". Please attach your /usr/lib/gnome-bluetooth/libgnome-bluetooth-applet.la file, it may be the culprit.
Oops. That'll be the problem; I'm participating in a Debian-style[1] .la file elimination effort and libgnome-bluetooth-applet.la got marked for removal. Sorry for wasting your time on this. 1. http://wiki.debian.org/ReleaseGoals/LAFileRemoval
(In reply to comment #9) > Oops. That'll be the problem; I'm participating in a Debian-style[1] .la file > elimination effort and libgnome-bluetooth-applet.la got marked for removal. > Sorry for wasting your time on this. libgnome-bluetooth-applet.la is unfortunately required for building gnome-shell bluetooth support, even with patches from upstream git master that claim to eliminate the need for it. In any case, I have now added gnome-shell-3.2.1-r2; it includes your anti-automagic gnome-bluetooth patch. Thanks for reporting! >*gnome-shell-3.2.1-r2 (09 Jan 2012) > > 09 Jan 2012; Alexandre Rostovtsev <tetromino@gentoo.org> > +gnome-shell-3.2.1-r2.ebuild, > +files/gnome-shell-3.2.1-automagic-gnome-bluetooth.patch: > Add lots of upstream patches: fix browser plugin on chromium and epiphany, > fix some crashes, improve extension system stability, do not load disabled > extensions at shell startup, do not allow message popups to steal mouse > focus, have the message tray use a hot corner so that mouse events on bottom > pixel row do not get blocked, and do not depend on nautilus's schemas or > libgnome's gnome-open. Also, fix automagic gnome-bluetooth dependency (bug > #398145, thanks to Ed Catmur for the patch).