[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

LD_PRELOAD, aoss, vsound mit alsa



Hallo,

Ich nutze zwar ubuntu 6.06/amd64/ia32libs in diesem Fall, möchte aber 
trotzdem mal hier nach dem Konzept des LD_PRELOAD fragen, und wann eine 
Fehlermeldung wie diese zustandekommt:

gerhard@ubuntu:~$ sudo aoss vsound aoss trplayer -n -q -i -b -t 0:00:30 
rtsp://a1836.l751839969.c7518.e.lr.akamaistream.net/live/D/1836/7518/v0001/reflector:39969
About to start the application. The output will not be available
until the application exits.
ERROR: ld.so: object '/usr/$LIB/libaoss.so' from LD_PRELOAD cannot be 
preloaded: ignored.
ERROR: ld.so: object '/usr/lib/vsound/libvsound.so' from LD_PRELOAD 
cannot be preloaded: ignored.
Title: WDR 5
Author: Westdeutscher Rundfunk
Copyright: (C) 2004 Westdeutscher Rundfunk
Bit rate is 32.041K
Missing file ./vsound20902.au.
This means that the libvsound wrapper did not work correctlty.
Here are some the possible reasons :
 - You are trying to record a stream (RTSP or PNM protocol) from
   the internet. You will need to use the --timing option.
 - The program you are trying to run is setuid. You will need to
   run vsound as root.
 - Vsound was not properly installed and hence won't work at all.

Ich denke, es is mir nach langem (!) suchen wohl klar (?) geworden, dass 
vsound nur mit oss Treibern funktioniert.

gerhard@ubuntu:~$ apt-cache show vsound|grep -A3 Description
Description: Virtual loopback sound recorder and real audio converter
 This program allows you to record the output of any standard OSS
 program (one that uses /dev/dsp for sound) without having to modify or
 recompile the program. It uses sox to convert and save the raw data

OSS hatte ich leider als FOSS gelesen ;-). Selbst mit 
mplayer -d /dev/dsp rtsp://url konnte ich aber vsound nicht bewegen mit 
alsa zu funktionieren (zu hören war immer etwas).

Dann hatte ich trplayer (commandline realplayer [1] ) aus den sourcen 
auf meinem amd64/dapper compiliert, allerdings mit dem Problem, dass 
das kompilierte trplayer eine (wohlgemerkt) vorhandene rmacore.so.6.0 
lib nach einem `sudo ldconfig` unjd angepasster /etc/ld.so.conf nicht 
fand. [2]

Ein ähnliches Problem gibt es mit LD_PRELOAD bei aoss auch, daher weiß 
ich nicht, ob es überhaupt funktioniert. Wie kann ich das testen? Wenn 
ich `aoss trplayer url`  verwende höre ich genauso die sendung, wie 
ohne aoss, bedeutet das schon, dass aoss funktioniert, und ich das 
ganze über ein emuliertes oss device höre?

ERROR: ld.so: object '/usr/$LIB/libaoss.so' from LD_PRELOAD cannot be 
preloaded: ignored.

~$ ldconfig -p |egrep '(aoss|vsound)'
        libvsound.so (libc6,x86-64) => /usr/lib/vsound/libvsound.so
        libaoss.so.0 (libc6,x86-64) => /usr/lib/libaoss.so.0
        libaoss.so (libc6,x86-64) => /usr/lib/libaoss.so

Liegt das daran, dass die klibs schon geladen sind, bzw. nicht durch 
sich selbst mittels LD_PRELOAD ausgetauscht werden können??(also ich 
verstehe die LD_PRELOAD Funktionsweise nicht ganz, glaube ich)

Ich hatte dann noch LD_PRELOAD mit /etc/ld.so.preload konfiguriert, und 
mein ganzes system zum Absturz gebracht:
 
ERROR: ld.so: object '/usr/lib/vsound/libvsound.so' from LD_PRELOAD 
cannot be preloaded: ignored. respawning to fast. waiting 5 seconds,

bei jeder neuen konsole, und später direkt nach dem Neustart. Eine Live 
CD half die angelegte Datei wieder zu löschen/verschieben:

$ cat /etc/ld.so.preload.bak
/usr/lib/vsound/libvsound.so
/usr/lib/libaoss.so
/usr/lib/libaoss.so.1

Also kann man vsound nur mit oss-sound-treibern verwenden?
Selbst aoss hilft da nicht?
Oder funktioniert aoss bei mir nicht?

$ lsmod |egrep '(oss|snd)'
snd_mpu401              9608  0
snd_mpu401_uart        10368  1 snd_mpu401
snd_rawmidi            31648  1 snd_mpu401_uart
snd_seq_device         11280  1 snd_rawmidi
snd_intel8x0           38440  2
snd_ac97_codec        110396  1 snd_intel8x0
snd_ac97_bus            4096  1 snd_ac97_codec
snd_pcm_oss            59424  0
snd_mixer_oss          20608  2 snd_pcm_oss
snd_pcm               104584  3 snd_intel8x0,snd_ac97_codec,snd_pcm_oss
snd_timer              29064  1 snd_pcm
snd                    68576  12 
snd_mpu401,snd_mpu401_uart,snd_rawmidi,snd_seq_device,snd_intel8x0,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timersoundcore              
13216  2 snd
snd_page_alloc         13968  2 snd_intel8x0,snd_pcm

Es wäre schön, wenn jemand etwas Licht ins Dunkel bringen könnte.

ciao

Gerhard



[1]
http://www.linux-speakup.org/trplayer.html
ftp://ftp.vslib.cz/pub/mirrors/ftp.mplayerhq.hu/doc-tech/realmedia/

[2]
$ trplayer rtsp://a1836.l751839969.c7518.e.lr. 
akamaistream.net/live/D/1836/7518/v0001/reflector:39969
Failed to load 
rmacore.so.6.0: /usr/lib/RealPlayer8/Common/rmacore.so.6.0: cannot open 
shared object file: No such file or directory

$ file /usr/lib/RealPlayer8/Common/rmacore.so.6.0
/usr/lib/RealPlayer8/Common/rmacore.so.6.0: ELF 32-bit LSB shared 
object, Intel 80386, version 1 (SYSV), stripped

$ egrep '(vsound|Real)' /etc/ld.so.conf
/usr/lib/vsound
/usr/lib/RealPlayer8/Common/

$ ldd `which trplayer`
        linux-gate.so.1 =>  (0xffffe000)
        libslang.so.1 => /lib32/libslang.so.1 (0x55596000)
        libpthread.so.0 => /lib32/libpthread.so.0 (0x55607000)
        libdl.so.2 => /lib32/libdl.so.2 (0x5561a000)
        libstdc++-libc6.1-2.so.3 => /usr/lib32/libstdc++-libc6.1-2.so.3 
(0x5561d000)
        libm.so.6 => /lib32/libm.so.6 (0x55665000)
        libc.so.6 => /lib32/libc.so.6 (0x55687000)
        /lib/ld-linux.so.2 (0x55555000)

~$ ldconfig -p |grep rmacore
~$



Reply to: