FS#45527 - [xmms2] 0.8DrO_o-35 Error in build makes equalizer.preamp Unusable

Attached to Project: Community Packages
Opened by Storm (stormdragon2976) - Thursday, 02 July 2015, 18:43 GMT
Last edited by Sergej Pupykin (sergej) - Monday, 02 November 2015, 11:40 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Sergej Pupykin (sergej)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 4
Private No

Details

When trying to adjust volume in xmms2 using the equalizer.pream option, it fails to change the volume at all. Upon further investigation, it appears the equalizer itself can't be loaded. Here is a reply I got on the Arch Linux General mail list which prompted me to file this bug:
> /usr/lib/xmms2/libxmms_equalizer.so: undefined symbol: iir

Symbol iir is a function that is part of the XMMS source code coming in
two flavors, both functions marked as inline:

# fgrep -R " iir(" .
src/plugins/equalizer/iir_sse.c:__inline__ int iir(void *d, int
length, int nch, int extra_filtering)
src/plugins/equalizer/iir_fpu.c:__inline__ int iir(void *d, int
length, int nch, int extra_filtering)
src/plugins/equalizer/iir.h:__inline__ int iir(void *d, int length,
int nch, int extra_filtering);

So it does not seem to be a dependency problem, but a code or
compilation one. Maybe inline plays a part. (Interestingly, I cannot
find anything in the build system, that would integrate or activate
iir_sse.c. Could it be iir_fpu.c all the time?)

I threw readelf of binutils at libxmms_equalizer.so. A sane file on
another distribution looks like this:

# readelf -s libxmms_equalizer.so | grep ' iir$'
53: 0000000000003e3a 2107 FUNC GLOBAL DEFAULT 10 iir
119: 0000000000003e3a 2107 FUNC GLOBAL DEFAULT 10 iir

The file from xmms2-0.8DrO_o-35-x86_64.pkg.tar.xz however gives:

# readelf -s libxmms_equalizer.so | grep ' iir$'
28: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND iir

I would say that needs a rebuild, at least :)
So yes, please open a bug.

Additional info:
* package version(s) xmms2 0.8DrO_o-35

* config and/or log files etc.


Steps to reproduce:
xmms2 server config effect.order.0 equalizer
xmms2 server config equalizer.enabled 1 # Will probably give an error

To change the volume
xmms2 server config equalizer.preamp 0 # May be between -20 and 20

When this works correctly it changes the volume of xmms2 without affecting the rest of the volume of the computer,. However, with the introduction of this bug, the volume stays the same.
This task depends upon

Closed by  Sergej Pupykin (sergej)
Monday, 02 November 2015, 11:40 GMT
Reason for closing:  No response
Comment by Arth (PioneerAxon) - Wednesday, 22 July 2015, 18:36 GMT
This bug is noticeable without changing any xmms2 settings.
If you have xmms2 equalizer configured, the equalizer stops working after the recent update.

When xmms2d is launched on a terminal, I get the same error regarding "undefined symbol iir".

INFO: ../src/xmms/log.c:49: Initialized logging system :)
23:27:42 INFO: ../src/xmms/ipc.c:817: IPC listening on 'unix:///tmp/xmms-ipc-pioneeraxon'.
23:27:42 ERROR: ../src/xmms/plugin.c:375: Failed to open plugin /usr/lib/xmms2/libxmms_equalizer.so: /usr/lib/xmms2/libxmms_equalizer.so: undefined symbol: iir
23:27:44 ERROR: ../src/xmms/xform.c:1593: Couldn't find any effect named 'equalizer'
23:27:44 INFO: ../src/xmms/main.c:561: Using output plugin: pulse
23:29:55 INFO: ../src/xmms/compat/signal_unix.c:61: Bye!
23:29:57 INFO: ../src/xmms/log.c:55: Logging says bye bye :)


Since, xmms2 has the best equalizer I've ever listened to, this is disappointing after almost 3 weeks.
Comment by Sergej Pupykin (sergej) - Friday, 02 October 2015, 11:02 GMT
can it be reproduced with latest xmms2?

Loading...