Bug#851925: libmutter-cogl.so: cannot open shared object file: No such file or directory

Simon McVittie smcv at debian.org
Fri Jan 20 00:59:17 UTC 2017


Package: gnome-shell
Version: 3.22.2-2
Severity: grave
Justification: renders package unusable

While logging in to a new GNOME-on-X11 user session from gdm, via
"Switch User":

Jan 20 00:37:48 perpetual org.gnome.Shell.desktop[25051]: /usr/bin/gnome-shell: error while loadi
ng shared libraries: libmutter-cogl.so: cannot open shared object file: No such file or directory
Jan 20 00:37:48 perpetual gnome-session[24959]: gnome-session-binary[24959]: WARNING: App 'org.gn
ome.Shell.desktop' exited with code 127
Jan 20 00:37:48 perpetual gnome-session-binary[24959]: WARNING: App 'org.gnome.Shell.desktop' exited with code 127

Some weirdness appears if I try ldd:

$ ldd /usr/bin/gnome-shell|grep mutter
	libmutter-cogl-pango.so => /usr/lib/x86_64-linux-gnu/mutter/libmutter-cogl-pango.so (0x00007f4ad4328000)
	libmutter.so.0 => /usr/lib/x86_64-linux-gnu/libmutter.so.0 (0x00007f4ad3986000)
	libmutter-clutter-1.0.so => /usr/lib/x86_64-linux-gnu/mutter/libmutter-clutter-1.0.so (0x00007f4ad2d16000)
	libmutter-cogl.so => not found
	libmutter-cogl.so => /usr/lib/x86_64-linux-gnu/mutter/libmutter-cogl.so (0x00007f4acbfb2000)
	libmutter-cogl-path.so => /usr/lib/x86_64-linux-gnu/mutter/libmutter-cogl-path.so (0x00007f4ac7966000)

(Note the double entry for libmutter-cogl.so, only one of which was found.)

objdump -Tx says /usr/bin/gnome-shell and all the private mutter-related
libraries correctly have a RUNPATH, except for libmutter-cogl.so itself
(which doesn't depend on any of the others). So does the public
/usr/lib/x86_64-linux-gnu/libmutter.so.0.

However, libgnome-shell-menu.so links to libmutter-clutter-1.0.so without
a RUNPATH, and libgnome-shell.so links to libmutter-clutter-1.0.so
and libmutter-cogl.so with RUNPATH=/usr/lib/gnome-shell.
I think libgnome-shell.so might be the culprit here - the upstream
build system passes -rpath when it builds executables, but not when
it builds private shared libraries. Perhaps it should?

This might be related to recently-fixed RC bug #844796 - I'm not sure
whether exporting LD_LIBRARY_PATH during build would actually be
necessary if the -rpath was done correctly.

    S



More information about the pkg-gnome-maintainers mailing list