On Fri, 09 Nov 2012 09:51:05 +1030, Ron wrote:

> > My impression at the moment is:
> > - There's a bug but mumble still works, as confirmed by the submitter
> And the fix should be trivial.  libmumble uses symbols from libGL but
> doesn't link to it, and so will fail unless that's fixed and it does.

So, let's fix it :)

The term "trivial" triggered me into trying it myself.

The attached patch adds -lGL to LIBS in overlay_gl/overlay_gl.pro
which seems to determine the libmumble build.

The result:

- No more "undefined symbol" errors when starting mumble:

% mumble
PulseAudio: Connection failure: Connection refused
G15LCDEngineUnix: Unable to connect to G15Daemon.
CELT bitstream 8000000b from /usr/lib/mumble/libcelt0.so.0.7.0
Locale is C
TextToSpeech: Failed to contact speech dispatcher.
Database SQLite: "3.7.14.1" 
Overlay: Listening on "/home/gregoa/.MumbleOverlayPipe" 
GlobalShortcutX: Unable to open any keyboard input devices under /dev/input, 
falling back to XInput
GlobalShortcutX: Using XI2 2.0
AudioInput: 40000 bits/s, 48000 hz, 480 sample CELT
ALSAAudioOutput: Initialized
ALSAAudioInput: Initing audiocapture default.
ALSAAudioInput: Actual buffer 48000 hz, 1 channel 4096 samples [1024 per period]
AudioInput: Initialized mixer for 1 channel 48000 hz mic and 0 channel 48000 hz 
echo
ALSAAudioOutput: ALSA reports 10000 output channels. Clamping to 2.
ALSAAudioOutput: Actual buffer 48000 hz, 2 channel 3072 samples [1024 per 
period]
ALSAAudioOutput: Initializing 2 channel, 48000 hz mixer
AudioOutput: Initialized 2 channel 48000 hz mixer
warning: The VAD has been replaced by a hack pending a complete rewrite
ALSAAudioInput: Releasing ALSA Mic.
ALSAAudioOutput: Destroyed


- libmumble is linked against libGL (and many more things (?)):

% ldd /usr/lib/mumble/libmumble.so
    linux-vdso.so.1 =>  (0x00007fff703ff000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007faa3a188000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007faa39f84000)
    libGL.so.1 => /usr/lib/x86_64-linux-gnu/libGL.so.1 (0x00007faa39d23000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007faa39999000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 
(0x00007faa3977d000)
    /lib64/ld-linux-x86-64.so.2 (0x00007faa3a5b6000)
    libglapi.so.0 => /usr/lib/x86_64-linux-gnu/libglapi.so.0 
(0x00007faa39557000)
    libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007faa39344000)
    libXdamage.so.1 => /usr/lib/x86_64-linux-gnu/libXdamage.so.1 
(0x00007faa39142000)
    libXfixes.so.3 => /usr/lib/x86_64-linux-gnu/libXfixes.so.3 
(0x00007faa38f3b000)
    libX11-xcb.so.1 => /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1 
(0x00007faa38d3a000)
    libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007faa389fe000)
    libxcb-glx.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0 
(0x00007faa387e5000)
    libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007faa385c5000)
    libXxf86vm.so.1 => /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1 
(0x00007faa383bf000)
    libdrm.so.2 => /usr/lib/x86_64-linux-gnu/libdrm.so.2 (0x00007faa381b2000)
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 
(0x00007faa37eab000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007faa37c29000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007faa37a12000)
    libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007faa3780f000)
    libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 
(0x00007faa37609000)


> >   of the LP bug and by Chris now. So the priority is probably fine.
> That kind of depends on whether it's considered acceptable for the
> mumble-overlay / preloading libmumble described in the README to be
> completely broken for Wheezy.  Since that clearly can't work as it is
> documented if libmumble can't be loaded because of a broken DT_NEEDED.

Ok, so the problem is not starting mumble itself, as reported by dkg, but
mumble-overlay / preloading libmumble ...
 
> (That's a separate issue from the 'mumble' binary continuing to work
>  after its dlopen attempt fails, but is the real effect of the actual
>  bug behind the one lesser symptom of it first reported here).

Ok.
 
> > - The bug is not new but, as Ron implied, newly reported.
> > Is this correct?
> I think so, we can add this to the growing list of things it's been
> shipping for some time that nobody apparently ever used or tested :/
> (or that they tested and then shrugged off as "not sure how useful
> that is for Debian" when it didn't work because it was broken ):

Yeah, seems so :/
 

Cheers,
gregor, hoping that his patch attempt might be useful


-- 
 .''`.  Homepage: http://info.comodo.priv.at/ - OpenPGP key 0xBB3A68018649AA06
 : :' : Debian GNU/Linux user, admin, and developer  -  http://www.debian.org/
 `. `'  Member of VIBE!AT & SPI, fellow of the Free Software Foundation Europe
   `-   NP: Tom Waits: Day After Tomorrow
diff -Nru mumble-1.2.3-349-g315b5f5/debian/changelog mumble-1.2.3-349-g315b5f5/debian/changelog
--- mumble-1.2.3-349-g315b5f5/debian/changelog	2012-10-14 18:37:03.000000000 +0200
+++ mumble-1.2.3-349-g315b5f5/debian/changelog	2012-11-10 02:06:26.000000000 +0100
@@ -1,3 +1,14 @@
+mumble (1.2.3-349-g315b5f5-2.2) UNRELEASED; urgency=low
+
+  * Non-maintainer upload.
+  * Fix "Plugins: Failed to load libmumble.so: Cannot load library
+    /usr/lib/mumble/libmumble.so: (/usr/lib/mumble/libmumble.so:
+    undefined symbol: glPopClientAttrib)":
+    new patch 30-opengl: link libmumble against libGL
+    (Closes: #691535)
+
+ -- gregor herrmann <gre...@debian.org>  Sat, 10 Nov 2012 02:02:10 +0100
+
 mumble (1.2.3-349-g315b5f5-2.1) unstable; urgency=low
 
   * Non-maintainer upload.
diff -Nru mumble-1.2.3-349-g315b5f5/debian/patches/30-opengl mumble-1.2.3-349-g315b5f5/debian/patches/30-opengl
--- mumble-1.2.3-349-g315b5f5/debian/patches/30-opengl	1970-01-01 01:00:00.000000000 +0100
+++ mumble-1.2.3-349-g315b5f5/debian/patches/30-opengl	2012-11-10 02:05:02.000000000 +0100
@@ -0,0 +1,11 @@
+--- a/overlay_gl/overlay_gl.pro
++++ b/overlay_gl/overlay_gl.pro
+@@ -7,7 +7,7 @@
+ TARGET = mumble$(TARGET_ADD)
+ VERSION = 1.2.4
+ SOURCES = overlay.c
+-LIBS *= -lrt -ldl
++LIBS *= -lrt -ldl -lGL
+ QMAKE_CFLAGS *= -fvisibility=hidden $(CFLAGS_ADD)
+ QMAKE_LFLAGS -= -Wl,--no-undefined
+ QMAKE_LFLAGS *= $(LFLAGS_ADD)
diff -Nru mumble-1.2.3-349-g315b5f5/debian/patches/series mumble-1.2.3-349-g315b5f5/debian/patches/series
--- mumble-1.2.3-349-g315b5f5/debian/patches/series	2012-10-14 18:36:54.000000000 +0200
+++ mumble-1.2.3-349-g315b5f5/debian/patches/series	2012-11-10 02:04:36.000000000 +0100
@@ -5,3 +5,4 @@
 15-fix-noise-in-opus-mode
 20-add-opus-threshold-option
 25-add-codec-warnings
+30-opengl

Attachment: signature.asc
Description: Digital signature

Reply via email to