Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 398145 - gnome-shell-3.2.1-r1 build failure: libgnome-bluetooth-applet.so.0: cannot open shared object file: No such file or directory
Summary: gnome-shell-3.2.1-r1 build failure: libgnome-bluetooth-applet.so.0: cannot op...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GNOME (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-01-08 13:44 UTC by Ed Catmur
Modified: 2012-01-09 03:04 UTC (History)
0 users

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


Attachments
0001-Fix-automagic-gnome-bluetooth-dependency.patch (0001-Fix-automagic-gnome-bluetooth-dependency.patch,1.80 KB, patch)
2012-01-08 14:02 UTC, Ed Catmur
Details | Diff
/tmp/emerge.info (emerge.info,8.48 KB, text/plain)
2012-01-08 23:19 UTC, Ed Catmur
Details
/var/log/portage/gnome-base:gnome-shell-3.2.1-r1:20120108-232621.log (gnome-base:gnome-shell-3.2.1-r1:20120108-232621.log,254.11 KB, text/plain)
2012-01-08 23:29 UTC, Ed Catmur
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ed Catmur 2012-01-08 13:44:00 UTC
...

  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
Comment 1 Ed Catmur 2012-01-08 13:46:22 UTC
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.
Comment 2 Ed Catmur 2012-01-08 14:02:30 UTC
Created attachment 298321 [details, diff]
0001-Fix-automagic-gnome-bluetooth-dependency.patch
Comment 3 Ed Catmur 2012-01-08 14:30:08 UTC
OK, that seems to work.  Add IUSE="bluetooth" and ECONF="$(use_with bluetooth)".  Let me know if this looks good for upstreaming.
Comment 4 Alexandre Rostovtsev (RETIRED) gentoo-dev 2012-01-08 15:06:31 UTC
(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.
Comment 5 Ed Catmur 2012-01-08 23:19:25 UTC
Created attachment 298375 [details]
/tmp/emerge.info
Comment 6 Ed Catmur 2012-01-08 23:29:27 UTC
Created attachment 298377 [details]
/var/log/portage/gnome-base:gnome-shell-3.2.1-r1:20120108-232621.log
Comment 7 Ed Catmur 2012-01-08 23:29:55 UTC
Not using any special gcc specs.
Comment 8 Alexandre Rostovtsev (RETIRED) gentoo-dev 2012-01-09 00:16:51 UTC
(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.
Comment 9 Ed Catmur 2012-01-09 01:13:53 UTC
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
Comment 10 Alexandre Rostovtsev (RETIRED) gentoo-dev 2012-01-09 03:04:48 UTC
(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).