| Summary: | pulseaudio canot find symbol orc_program_new_from_static_bytecode | ||
|---|---|---|---|
| Product: | Mageia | Reporter: | Nikita Krupenko <krnekit> |
| Component: | RPM Packages | Assignee: | Colin Guthrie <mageia> |
| Status: | RESOLVED MOVED | QA Contact: | |
| Severity: | major | ||
| Priority: | Normal | CC: | marja11, monty19 |
| Version: | Cauldron | ||
| Target Milestone: | --- | ||
| Hardware: | i586 | ||
| OS: | Linux | ||
| URL: | https://github.com/ValveSoftware/steam-for-linux/issues/2834 | ||
| Whiteboard: | |||
| Source RPM: | pulseaudio-4.0-2.mga4.src.rpm | CVE: | |
| Status comment: | |||
|
Description
Nikita Krupenko
2013-07-17 19:27:13 CEST
Nikita Krupenko
2013-08-07 13:00:32 CEST
Summary:
pulseaudio canot fin symbol orc_program_new_from_static_bytecode =>
pulseaudio canot find symbol orc_program_new_from_static_bytecode Seems that not only Half-Life, but all games from Steam has no sound. Severity:
normal =>
major @ Colin Sorry, I didn't do any attempt to reproduce this issue (I even never played any Steam game) CC:
(none) =>
marja11 Interesting Nikita. Thanks for the report. Seems quite strange actually as pulseaudio package in cauldron was build after the latest orc package, so I don't think it's incorrectly linked specifically. That said, on my 64-bit machine, the symbols appear to be there just fine: [colin@jimmy ~]$ strings /usr/lib64/libpulsecore-4.0.so | grep orc_program_new_from_static_bytecode orc_program_new_from_static_bytecode [colin@jimmy ~]$ strings /usr/lib64/liborc-0.4.so.0 | grep orc_program_new_from_static_bytecode orc_program_new_from_static_bytecode So both pulse and liborc seem to have the relevant symbols. A more thorough check of liborc itself: [colin@jimmy ~]$ readelf -Ws /usr/lib64/liborc-0.4.so.0 | grep orc_program_new_from_static_bytecode 220: 00000037c6814290 54 FUNC GLOBAL DEFAULT 11 orc_program_new_from_static_bytecode And the 32-bit versions: [colin@jimmy ~]$ readelf -Ws /usr/lib/liborc-0.4.so.0 | grep orc_program_new_from_static_bytecode 219: 00010490 59 FUNC GLOBAL DEFAULT 11 orc_program_new_from_static_bytecode So for me both the 64 and 32 bit versions are OK. I'm wondering if perhaps you have a 64 bit system, but somehow have outdated 32bit libs? Can you show the result of rpm -qf /usr/lib/liborc-0.4.so.0? It should say: liborc0.4_0-0.4.17-1.mga4 Cheers No, I have pure 32bit system. The result of `rpm -qf /usr/lib/liborc-0.4.so.0`: liborc0.4_0-0.4.17-1.mga4 Calling readelf on liborc also finds this symbol. libpusecore linked with liborc: [nekit@localhost ~]$ ldd /usr/lib/libpulsecore-4.0.so | grep liborc liborc-0.4.so.0 => /usr/lib/liborc-0.4.so.0 (0xb725f000) and I have only one version of that library: [nekit@localhost ~]$ ls -l /usr/lib/liborc-0.4* -rw-r--r-- 1 root root 2490756 ÐÑн 23 05:56 /usr/lib/liborc-0.4.a -rwxr-xr-x 1 root root 976 ÐÑн 23 05:56 /usr/lib/liborc-0.4.la* lrwxrwxrwx 1 root root 20 ÐÑл 15 20:02 /usr/lib/liborc-0.4.so -> liborc-0.4.so.0.17.0* lrwxrwxrwx 1 root root 20 ÐÑл 15 20:02 /usr/lib/liborc-0.4.so.0 -> liborc-0.4.so.0.17.0* -rwxr-xr-x 1 root root 614852 ÐÑн 23 05:56 /usr/lib/liborc-0.4.so.0.17.0* I'm at a bit of a loss to explain this... Can you do an "rpm -qa | grep -E '(pulse|orc)'" I just want to see if any stale binaries are involved. I presume PulseAudio runs OK for other apps? In which case it could just be a certain sample spec (i.e. freq) triggers the re-sampling code that causes this symbol lookup error. Can you perhaps try putting "export PULSE_NO_SIMD=1" into your ~/.bashrc and doing a reboot to see if this helps. It should avoid any resampling code that is ASM/orc based IIRC which may help isolate the problem. Other PulseAudio applications and non-Steam games are OK. I added export to the .bashrc and after reboot result is the same. [nekit@localhost ~]$ rpm -qa | grep -E '(pulse|orc)' pulseaudio-module-bluetooth-4.0-2.mga4 pulseaudio-client-config-4.0-2.mga4 libpulsecommon4.0-4.0-2.mga4 pulseaudio-utils-4.0-2.mga4 gstreamer1.0-pulse-1.0.9-1.mga4 libpulsecore4.0-4.0-2.mga4 orc-0.4.17-1.mga4 kcolorchooser-4.10.97-1.mga4 liborc-devel-0.4.17-1.mga4 pulseaudio-module-gconf-4.0-2.mga4 liborcus0.6_0-0.5.1-8.mga4 alsa-plugins-pulse-config-1.0.27-2.mga4 libpulsecore2.99-2.99.3-1.mga3 task-pulseaudio-2011.0-3.mga3 pulseaudio-4.0-2.mga4 libpulseaudio0-4.0-2.mga4 libpulseaudio-devel-4.0-2.mga4 pulseaudio-module-x11-4.0-2.mga4 libpulseglib20-4.0-2.mga4 libalsa-plugins-pulseaudio-1.0.27-2.mga4 gstreamer0.10-pulse-0.10.31-5.mga4 libpulsecore3.0-3.0-7.mga3 libpulsecommon3.0-3.0-7.mga3 libpulsecommon2.99-2.99.3-1.mga3 liborc0.4_0-0.4.17-1.mga4 vlc-plugin-pulse-2.1.0-0.pre3.4.mga4.tainted Had this happen on my Fedora 19 system today. It has been working and I have absolutely no idea what changed. I had a few Steam games that were working, but most were not, and it still works on my laptop. I'd love to know what the difference is, but I honestly have no idea. Anyway, what I found is that it's not your system liborc that's the problem, it's the steam runtime version. This was my workaround: rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/liborc-0.4.so.0 ~/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/liborc-0.4.so.0.16.0 ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/liborc-0.4.so.0 ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/liborc-0.4.so.0.16.0 Hope it helps you. CC:
(none) =>
monty19 Ahh thanks j m, yes that does explain it. Seems they are shipping an old liborc. It might also be possible to do LD_PRELOAD=/usr/lib64/liborc-0.4.so.0 (or perhaps the 32 bit path) before running steam. Either way we cannot really fix it (in any way I can think off). It's perhaps worth reporting to the guys upstream tho' to see if they'll ship a newer liborc officially which shouldn't hurt anyone.
Nikita Krupenko
2013-09-08 16:31:54 CEST
URL:
(none) =>
https://github.com/ValveSoftware/steam-for-linux/issues/2834 Thanks for the upstream report+link. I think we should probably close this bug report here as there is likely little we can do at our end (if you find a way in which we can do something clever to work around this, then please feel free to reopen!) Sadly we don't have a "Resolved, Upstream" resolution so I'll use "moved" for want of something better :) I'm watching the github issue also. Status:
NEW =>
RESOLVED No problem. You could also try to export 'STEAM_RUNTIME=0 steam' or export it in your .bashrc or somewhere. That worked for me for some things But the problem with that is you will need to make sure you have every dependency installed by hand. And then they have things like libssl.so.1.0.0 in the runtime that games are linked against whereas on my distro I have libssl.so.1.0.1e, so you end up in the create links and pray scenario, which doesn't seem any more ideal. Valve updating the version they provide is probably the right answer in the end. |