Package: mumble Version: 1.2.3-349-g315b5f5-2.2 Severity: wishlist --- Please enter the report below this line. ---
Ron -- Mumble upstream replied to a bug I submitted to them concerning the OpenGL bug that was dealt with in #691535 and after investigating they came up with a different solution. ----------------------------------------------------------------- libmumble.so as built fresh from Git is meant to work without being linked to libGL. It overrides glXSwapBuffers (via traditional LD_PRELOAD or by hooking into dlopen/dlsym), and will only ever call OpenGL functions in the glXSwapBuffers call -- so OpenGL functions will only be invoked if the process by some means has loaded libGL (or equivalent) anyway. This is the way it has worked for a long time. While looking into this, I also found out why it doesn't work that way for Debian anymore. The reason is that the rules file sets DEB_BUILD_HARDENING=1 which, among other things, causes all built binaries to be linked with "-z now". This causes all dynamic symbols to resolved when the program is loaded. In our normal build, we use "-z now" for all binaries and shared libraries, except libmumble.so -- because we want the behavior of a lightweight LD_PRELOADable library I described above. I have updated the debian/rules file in our Ubuntu PPA with a fix for this: https://github.com/mumble-voip/mumble-ubuntu- ppa/commit/8756933f3a18cec4f24ca885d5c33118cc10bddf I set DEB_BUILD_HARDENING_BINDNOW=0, and let the Mumble build link using "-z now" for the binaries it knows are OK with having load-time symbol resolving. Regarding the current Debian fix of linking directly with libGL, I don't see too much harm. The Linux overlay only supports GLX at present, so direct linking doesn't hurt in that regard. But were the overlay to support a non-GLX OpenGL implementation in the future, alongside the current GLX support, direct linking probably wouldn't work out favourably. Our preferred method however is still the lightweight LD_PRELOAD-able overlay library which only links against libc and friends. That way, we don't potentially bring in unwanted dependencies with us when we're LD_PRELOADED into foreign programs, and we let the environment of the foreign program guide our decisions. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org