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
Task Type Bug Report
Category Packages
Status Closed
Assigned To Sven-Hendrik Haase (Svenstaro)
David Runge (dvzrv)
Architecture x86_64
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

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
Comment by David Runge (dvzrv) - Monday, 04 May 2020, 17:40 GMT
@jhogan: Thanks for the report!

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/
Comment by James Hogan (jhogan) - Tuesday, 05 May 2020, 13:49 GMT
Hi @dvzrv,

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
Comment by Sven-Hendrik Haase (Svenstaro) - Tuesday, 09 June 2020, 16:34 GMT
Does 1.3.1 work in this regard?
Comment by James Hogan (jhogan) - Monday, 15 June 2020, 22:17 GMT
  • Field changed: Percent Complete (100% → 0%)
Apologies, didn't see request to test 1.3.1.
Unfortunately mumble-1.3.1-1 behaves identically to before
Comment by Sven-Hendrik Haase (Svenstaro) - Monday, 13 July 2020, 05:46 GMT
You should open a new issue with upstream. Our current build should definitely have this fix but if you can still reproduce it, upstream needs to look at this.
Comment by David Runge (dvzrv) - Sunday, 13 September 2020, 15:04 GMT
@Svenstaro: The upstream ticket refers to the cmake build system they have just implemented. The qmake based build is still broken I believe.

I will look into switching from qmake to cmake.
Comment by David Runge (dvzrv) - Sunday, 28 February 2021, 15:50 GMT
This will only be solved once upstream switches to cmake (probably with 1.4.x).
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.
Comment by David Runge (dvzrv) - Friday, 21 January 2022, 11:23 GMT
@jhogan: Can you please test whether mumble 1.4.230-1 in [community-testing] fixes this issue for you?
Comment by James Hogan (jhogan) - Saturday, 22 January 2022, 09:06 GMT
@dvzrv: Doesn't appear to be any different. I still see the glPopClientAttrib error.
Comment by David Runge (dvzrv) - Sunday, 22 January 2023, 19:21 GMT
@jhogan: Did you report this issue upstream?

Also, mumble 1.5.517-1 is now in [community-testing].

Loading...