Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 77031 - Skype 0.93.0.3-r3 needs 32 Bit Esound/Arts library on amd64
Summary: Skype 0.93.0.3-r3 needs 32 Bit Esound/Arts library on amd64
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All All
: High major (vote)
Assignee: Gentoo Net-im project
URL: http://www.skype.com/
Whiteboard:
Keywords:
: 65051 (view as bug list)
Depends on:
Blocks: 104635
  Show dependency tree
 
Reported: 2005-01-07 07:54 UTC by Robert Führicht
Modified: 2005-12-15 14:39 UTC (History)
7 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Robert Führicht 2005-01-07 07:54:09 UTC
Skype needs a 32 Bit version of libesddsp.so (and the according arts counterpart) to work properly with esound (or Arts, haven't tested that though) on amd64. IMO this lib(s) should be added to app-emulation/emul-linux-x86-soundlibs, and skype should depend on it.

To repro:

1. start esd
2. start skype
3. you get this:

=====  Fri Jan 7 16:36:25 CET 2005  =====
Starting esd wrapped skype
esddsp /opt/skype/skype.bin --resources-path /opt/skype/
/opt/skype/skype.bin: error while loading shared libraries: //usr/lib/libesddsp.so.0: cannot open shared object file: No such file or directory
Comment 1 Gustavo Felisberto (RETIRED) gentoo-dev 2005-01-07 12:50:41 UTC
/opt/skype/skype.bin: error while loading shared libraries: //usr/lib/libesddsp.so.0: cannot open shared object file: No such file or directory

This looks like a esddsp problem to me, not a skype problem.
Comment 2 Gregorio Guidi (RETIRED) gentoo-dev 2005-02-12 08:20:23 UTC
*** Bug 65051 has been marked as a duplicate of this bug. ***
Comment 3 Dominik Karall 2005-03-20 06:17:03 UTC
It's the same situation with newer skype versions and artsd.
Error in skype.log:
/opt/skype/skype.bin: error while loading shared libraries: /usr/kde/3.4/lib/libartsdsp.so.0: cannot open shared object file: No such file or directory

I found a thread about that (where the problems occures with doom3) in gentoo forums:
http://forums.gentoo.org/viewtopic-p-1620212.html?sid=159ba305c9b79302de05599115d06930#1620212
Comment 4 Peter Humphrey 2005-03-25 10:40:20 UTC
I think the problem is that recent Gentoo profiles have /usr/lib/* 64-bit, with /usr/lib32 a pointer to ../emul/linux/x86/usr/lib and /usr/lib64 a pointer to ../lib. The skype binary has /usr/lib/ hard-coded in some fashion, or at least it doesn't know about this 32/64-bit dichotomy. Skype.com need to have this pointed out to them. I could post something on the skype forum if you like. In fact, I think I will, to ask how to pass a parameter defining the location of libesddsp.
Comment 5 Gustavo Felisberto (RETIRED) gentoo-dev 2005-03-25 11:53:29 UTC
Skype knows nothing about srtsd and/or esd he just "grabs" /dev/dsp (uses oss). So the problem were is with esdsp and artsdsp and 32bits lybraries. Well alot of troubles old be solved with:
1- 64 bits version of skype
2- alsa version of skype.

Neither can be fixed by us gentoo dev's.
Comment 6 Gustavo Felisberto (RETIRED) gentoo-dev 2005-05-29 05:30:40 UTC
Any news on this with newer packages like skype-1.1.0.13 ?
Comment 7 Herbie Hopkins (RETIRED) gentoo-dev 2005-06-02 08:37:39 UTC
esddsp and artsdsp just will not work with 32bit applications on amd64 since
they try to preload 64bit libraries before running the app. Moreover they set
LD_PRELOAD with the full path to the lib so adding 32bit versions of libesddsp
and libartsdsp will not help.

I therefore suggest that we simply disable the use of a sound daemon from the
skype startup script on amd64. Maybe we could add something like:
use !x86 && dosed 's:^wrapsound=.*:wrapsound="no":' /opt/skype/skype
Comment 8 Gen Zhang 2005-07-01 03:39:04 UTC
I would like to see a libesddsp.so put into emul*soundlibs. That would allow
users to run skype with LD_PRELOAD="/emul/linux/x86/usr/lib/libesd.so
/emul/linux/x86/usr/lib/libesddsp.so" skype and have it work. Of course, we
could also make a wrapper for this. I'm currently trying to see if this would
work by building esound for 32bit -- but it's being tricky without a chroot.

The original bug reporter was right -- this is the correct way to go, reasons
are given in #5. As to #6 -- the newer versions have the exact same problem. As
to #7, we can make a esddsp32 wrapper that loads the 32bit versions -- that
should be acceptable?
Comment 9 Gustavo Felisberto (RETIRED) gentoo-dev 2005-09-02 16:31:28 UTC
Well, i changed first to amd64, then i started using kde, and for the fun i
would like arts working :) So i got that extra incentive to properly fix this.
But i'm running into problems. I posted some notes on the amd64 list:
http://news.gmane.org/gmane.linux.gentoo.amd64/cutoff=4652

Herbes: I'm adding you to the cc list because of your comment, and because i'm
trying with 32 bits libs and ld_preloading them.
Comment 10 Andy Dustman 2005-09-02 17:47:40 UTC
Another package that this is an issue for is games-fps/enemy-territory, or at
least, it's a issue for my particular soundcard (ENVY24, using the snd_ice1724
ALSA driver). In part, the issue is that ET uses /dev/dsp in mmap mode, and it
can not handle the format used by the ENVY24. According to
/usr/src/linux/Documentation/sound/alsa/OSS-Emulation.txt:

MMAP on ICE1712 driver
----------------------
ICE1712 supports only the unconventional format, interleaved
10-channels 24bit (packed in 32bit) format.  Therefore you cannot mmap
the buffer as the conventional (mono or 2-channels, 8 or 16bit) format
on OSS.

So, because of that I need something like esddsp or artsdsp to make it work, but
since ET is an x86 game, I need 32-bit libraries. Once I realized this, I used
quickpkg to package up a few thinks on my old x86 box (esound, audiofile, maybe
some others), and untarred them under /emul/linux/x86. Then I did a little bit
of hacking on esddsp to make it preload the right libraries. I start ET and
presto! I get sound... for about 10 seconds, and then it starts to stutter badly.

Additionally, the 64-bit esd server does not want to run on my soundcard. It
dies in this way:

Audio device open for 44.1Khz, stereo, 16bit failed
Trying 44.1Khz, 8bit stereo.
Audio device open for 44.1Khz, stereo, 8bit failed
Trying 48Khz, 16bit stereo.
Audio device open for 48Khz, stereo,16bit failed
Trying 22.05Khz, 8bit stereo.
Audio device open for 22.05Khz, stereo, 8bit failed
Trying 44.1Khz, 16bit mono.
Audio device open for 44.1Khz, mono, 8bit failed
Trying 22.05Khz, 8bit mono.
Audio device open for 22.05Khz, mono, 8bit failed
Trying 11.025Khz, 8bit stereo.
Audio device open for 11.025Khz, stereo, 8bit failed
Trying 11.025Khz, 8bit mono.
Audio device open for 11.025Khz, mono, 8bit failed
Trying 8.192Khz, 8bit mono.
Audio device open for 8.192Khz, mono, 8bit failed
Trying 8Khz, 8bit mono.
Sound device inadequate for Esound. Fatal.

I thought this might be due to the aforementioned OSS emulation problems, but
strace reveals that it is using ALSA devices and not OSS. However, the 32-bit
esd does run, though it has the stuttering problem after a while. To throw
another weird piece into the puzzle, games-fps/doom3 sound works fine, without
having to screw around with esddsp; it may use ALSA instead of OSS but I'm not sure.

So anyway. I tried artsdsp -m but that doesn't work either because I only have
64-bit libraries, and they won't preload with the 32-bit et. Hopefully a 32-bit
arts will work, though I'm not sure why 64-bit esd doesn't work.

The point: This is not exclusively a skype problem. There are some other things
out there which need 32-bit esound/arts to handle code which is using OSS /dev/dsp.
Comment 11 Herbie Hopkins (RETIRED) gentoo-dev 2005-09-06 15:17:33 UTC
I've just committed emul-linux-x86-soundlibs-2.2 which includes the
aformentioned libs. It also installs esddsp32 and artsdsp32 scripts in /usr/bin.
It package.masked for the moment until I'm sure it fixes this issue. Please test
with Skype (you'll have to change esddsp to esddsp32 in the /usr/bin/skype
startup script, same goes for artsdsp).
Comment 12 Andy Dustman 2005-09-06 17:27:36 UTC
This fixes my problems with enemy-territory, i.e. run as:

esddsp32 --mmap nice et

I found I needed to nice et; otherwise the sound was kinda crappy. If you know
of a good way to run esd at realtime priority, I'd like to hear about it.

I haven't yet figured out if it works with artsdsp32 yet. So far it won't
preload the libraries, even with artsd running, but I usually use GNOME, so I
don't really know what I'm doing on the KDE side.
Comment 13 Simon Stelling (RETIRED) gentoo-dev 2005-09-18 05:32:20 UTC
closing, seems to work :)
Comment 14 Octapus 2005-11-07 16:10:31 UTC
the esddsp32 script does not work in my case. i'm trying to get skype (1.2.0.18)
to work in an amd64.  this is what I get (there is no repetition - it's actually
displayed multiple times):

ERROR: ld.so: object '/emul/linux/x86/usr/lib/libesddsp.so.0' from LD_PRELOAD
cannot be preloaded: ignored.
ERROR: ld.so: object '/emul/linux/x86/usr/lib/libesd.so.0' from LD_PRELOAD
cannot be preloaded: ignored.
ERROR: ld.so: object '/emul/linux/x86/usr/lib/libesddsp.so.0' from LD_PRELOAD
cannot be preloaded: ignored.
ERROR: ld.so: object '/emul/linux/x86/usr/lib/libesd.so.0' from LD_PRELOAD
cannot be preloaded: ignored.
ERROR: ld.so: object '/emul/linux/x86/usr/lib/libesddsp.so.0' from LD_PRELOAD
cannot be preloaded: ignored.
ERROR: ld.so: object '/emul/linux/x86/usr/lib/libesd.so.0' from LD_PRELOAD
cannot be preloaded: ignored.
ERROR: ld.so: object '/emul/linux/x86/usr/lib/libesddsp.so.0' from LD_PRELOAD
cannot be preloaded: ignored.
ERROR: ld.so: object '/emul/linux/x86/usr/lib/libesd.so.0' from LD_PRELOAD
cannot be preloaded: ignored.
ERROR: ld.so: object '/emul/linux/x86/usr/lib/libesddsp.so.0' from LD_PRELOAD
cannot be preloaded: ignored.
ERROR: ld.so: object '/emul/linux/x86/usr/lib/libesd.so.0' from LD_PRELOAD
cannot be preloaded: ignored.
ERROR: ld.so: object '/emul/linux/x86/usr/lib/libesddsp.so.0' from LD_PRELOAD
cannot be preloaded: ignored.
ERROR: ld.so: object '/emul/linux/x86/usr/lib/libesd.so.0' from LD_PRELOAD
cannot be preloaded: ignored.
ERROR: ld.so: object '/emul/linux/x86/usr/lib/libesddsp.so.0' from LD_PRELOAD
cannot be preloaded: ignored.
ERROR: ld.so: object '/emul/linux/x86/usr/lib/libesd.so.0' from LD_PRELOAD
cannot be preloaded: ignored.
ERROR: ld.so: object '/emul/linux/x86/usr/lib/libesddsp.so.0' from LD_PRELOAD
cannot be preloaded: ignored.
ERROR: ld.so: object '/emul/linux/x86/usr/lib/libesd.so.0' from LD_PRELOAD
cannot be preloaded: ignored.
ERROR: ld.so: object '/emul/linux/x86/usr/lib/libesddsp.so.0' from LD_PRELOAD
cannot be preloaded: ignored.
ERROR: ld.so: object '/emul/linux/x86/usr/lib/libesd.so.0' from LD_PRELOAD
cannot be preloaded: ignored.
ERROR: ld.so: object '/emul/linux/x86/usr/lib/libesddsp.so.0' from LD_PRELOAD
cannot be preloaded: ignored.
ERROR: ld.so: object '/emul/linux/x86/usr/lib/libesd.so.0' from LD_PRELOAD
cannot be preloaded: ignored.
No running artsd or esd found
ERROR: ld.so: object '/emul/linux/x86/usr/lib/libesddsp.so.0' from LD_PRELOAD
cannot be preloaded: ignored.
ERROR: ld.so: object '/emul/linux/x86/usr/lib/libesd.so.0' from LD_PRELOAD
cannot be preloaded: ignored.
Starting skype without sound daemon
==========================================


At the same time i have those two apps running:
/opt/skype/skype.bin --resources-path /opt/skype/
/usr/bin/esd -terminate -nobeeps -as 1 -r 48000 -spawnfd 32

# ls -l /emul/linux/x86/usr/lib/libesd*

lrwxrwxrwx  1 root root    16 Sep 24 02:52 /emul/linux/x86/usr/lib/libesd.so ->
libesd.so.0.2.36
lrwxrwxrwx  1 root root    16 Sep 24 02:52 /emul/linux/x86/usr/lib/libesd.so.0
-> libesd.so.0.2.36
-rwxr-xr-x  1 root root 38068 Sep 24 02:52 /emul/linux/x86/usr/lib/libesd.so.0.2.36
lrwxrwxrwx  1 root root    19 Sep 24 02:52 /emul/linux/x86/usr/lib/libesddsp.so
-> libesddsp.so.0.2.36
lrwxrwxrwx  1 root root    19 Sep 24 02:52
/emul/linux/x86/usr/lib/libesddsp.so.0 -> libesddsp.so.0.2.36
-rwxr-xr-x  1 root root  9072 Sep 24 02:52
/emul/linux/x86/usr/lib/libesddsp.so.0.2.36

Skype actually opens but i can hear no sound when calling other peers. But it
actually seems to do sth and doesn't show any errors regarding the sound device
(at the same time i have an alsa app using the sound device). I have actually
used almost the same configuration with mplayer-bin (32 bit) and it works. But
in mplayer I set the audio device used through the mplayer parameter (-ao esd)

I also tried --mmap parameter too.

Do you think that the above errors are related with prelinking? If not what
could it be?
Comment 15 m4chine 2005-12-15 14:39:24 UTC
I too am experiencing the same thing, although I cannot start skype at all.

$ artsdsp32 -m skype
ERROR: ld.so: object '/emul/linux/x86/usr/lib/libartsdsp.so.0' from LD_PRELOAD
cannot be preloaded: ignored.
ERROR: ld.so: object '/emul/linux/x86/usr/lib/libartsc.so.0' from LD_PRELOAD
cannot be preloaded: ignored.
ERROR: ld.so: object '/emul/linux/x86/usr/lib/libartsdsp.so.0' from LD_PRELOAD
cannot be preloaded: ignored.
ERROR: ld.so: object '/emul/linux/x86/usr/lib/libartsc.so.0' from LD_PRELOAD
cannot be preloaded: ignored.
ERROR: ld.so: object '/emul/linux/x86/usr/lib/libartsdsp.so.0' from LD_PRELOAD
cannot be preloaded: ignored.
ERROR: ld.so: object '/emul/linux/x86/usr/lib/libartsc.so.0' from LD_PRELOAD
cannot be preloaded: ignored.
ERROR: ld.so: object '/emul/linux/x86/usr/lib/libartsdsp.so.0' from LD_PRELOAD
cannot be preloaded: ignored.
ERROR: ld.so: object '/emul/linux/x86/usr/lib/libartsc.so.0' from LD_PRELOAD
cannot be preloaded: ignored.
ERROR: ld.so: object '/emul/linux/x86/usr/lib/libartsdsp.so.0' from LD_PRELOAD
cannot be preloaded: ignored.
ERROR: ld.so: object '/emul/linux/x86/usr/lib/libartsc.so.0' from LD_PRELOAD
cannot be preloaded: ignored.
ERROR: ld.so: object '/emul/linux/x86/usr/lib/libartsdsp.so.0' from LD_PRELOAD
cannot be preloaded: ignored.
ERROR: ld.so: object '/emul/linux/x86/usr/lib/libartsc.so.0' from LD_PRELOAD
cannot be preloaded: ignored.
ERROR: ld.so: object '/emul/linux/x86/usr/lib/libartsdsp.so.0' from LD_PRELOAD
cannot be preloaded: ignored.
ERROR: ld.so: object '/emul/linux/x86/usr/lib/libartsc.so.0' from LD_PRELOAD
cannot be preloaded: ignored.
ERROR: ld.so: object '/emul/linux/x86/usr/lib/libartsdsp.so.0' from LD_PRELOAD
cannot be preloaded: ignored.
ERROR: ld.so: object '/emul/linux/x86/usr/lib/libartsc.so.0' from LD_PRELOAD
cannot be preloaded: ignored.
ERROR: ld.so: object '/emul/linux/x86/usr/lib/libartsdsp.so.0' from LD_PRELOAD
cannot be preloaded: ignored.
ERROR: ld.so: object '/emul/linux/x86/usr/lib/libartsc.so.0' from LD_PRELOAD
cannot be preloaded: ignored.
No installed artsshell or esd found
Assuming you're running no sound daemon
ERROR: ld.so: object '/emul/linux/x86/usr/lib/libartsdsp.so.0' from LD_PRELOAD
cannot be preloaded: ignored.
ERROR: ld.so: object '/emul/linux/x86/usr/lib/libartsc.so.0' from LD_PRELOAD
cannot be preloaded: ignored.
Starting skype without a sound wrapper
==========================================
Running wrapped Skype failed, trying not-wrapped mode...
==========================================