FS#66534 - [mumble] mumble-overlay undefined symbol: glPopClientAttrib
Attached to Project:
Community Packages
Opened by James Hogan (jhogan) - Monday, 04 May 2020, 15:39 GMT
Last edited by Toolybird (Toolybird) - Thursday, 23 February 2023, 22:27 GMT
Opened by James Hogan (jhogan) - Monday, 04 May 2020, 15:39 GMT
Last edited by Toolybird (Toolybird) - Thursday, 23 February 2023, 22:27 GMT
|
Details
Description:
Starting the mumble-overlay on e.g. minecraft (which is java based and doesn't link straight against libGL) fails with: /usr/lib/jvm/java-8-openjdk/jre/bin/java: symbol lookup error: /usr/lib64/mumble/libmumble.so.1: undefined symbol: glPopClientAttrib Its also reproducible with other arbitrary programs that don't use OpenGL, e.g. "mumble-overlay gvim" This seems to be a known problem (see link below) but I can't even build mumble with makepkg & the PKGBUILD on the arch website due to this: AudioInput.cpp: In member function 'int AudioInput::encodeCELTFrame(short int*, AudioInput::EncodingOu AudioInput.cpp:780:38: error: 'CELT_SET_VBR_RATE' was not declared in this scope; did you mean 'CELT_S 780 | cCodec->celt_encoder_ctl(ceEncoder, CELT_SET_VBR_RATE(iAudioQuality)); | ^~~~~~~~~~~~~~~~~ | CELT_SET_BITRATE Additional info: * package version(s) mumble-1.3.0-8 * config and/or log files etc. * link to upstream bug report, if any https://github.com/mumble-voip/mumble/issues/3542 Steps to reproduce: $ mumble-overlay gvim set set gvim: symbol lookup error: /usr/lib64/mumble/libmumble.so.1: undefined symbol: glPopClientAttrib $ mumble-overlay minecraft-launcher set set minecraft-launcher: symbol lookup error: /usr/lib64/mumble/libmumble.so.1: undefined symbol: glPopClientAttrib |
This task depends upon
Closed by Toolybird (Toolybird)
Thursday, 23 February 2023, 22:27 GMT
Reason for closing: No response
Additional comments about closing: Assuming fixed
Thursday, 23 February 2023, 22:27 GMT
Reason for closing: No response
Additional comments about closing: Assuming fixed
While it might be possible, that mumble has weird settings in qmake (most definitely has as that setup is ultra clunky), I see that the changes mentioned in the pull request [1] are already applied in 1.3.0.
It is possible, that our default LDFLAGS (in /etc/makepkg.conf) somehow override this (as they include `-z,now`).
The build system of mumble needs to make sure to take care of this as I don't see myself disabling `-z,now` for the entire build, just because one component is misbehaving.
Not entirely sure how to prevent this:
```
gcc -Wl,-z,relro -Wl,-z,lazy -Wl,-O1 -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -shared -Wl,-soname,libmumble.so.1 -o libmumble.so.1.3.0 ../release/.obj/overlay_gl/overlay.o -L/build/mumble/src/mumble-1.3.0/release -lrt -ldl
```
Btw: I can not reproduce your build problems. Please try and build in a clean chroot using devtools [2].
[1] https://github.com/mumble-voip/mumble/commit/859da4dabec070959b5c06f8d32512990d7ec9c2
[2] https://www.archlinux.org/packages/extra/any/devtools/
Yeh I assumed it might be the cmake snippet mentioned in the bug report [1], but I see the PKGBUILD uses qmake.
Thanks for the suggestion about a clean chroot. I'll have a fiddle with it when I get some time & see if I can get it working.
Cheers
James
[1] https://github.com/mumble-voip/mumble/issues/3542#issuecomment-601010810
Unfortunately mumble-1.3.1-1 behaves identically to before
I will look into switching from qmake to cmake.
If you can think of a sane way of patching the qmake based build system, please do share, but I guess it might be less painful to wait.
Also, mumble 1.5.517-1 is now in [community-testing].