Σχετικά με το LD_PRELOAD
Giannis Papaioannou
jhn at aix.meng.auth.gr
Fri May 5 21:43:53 EEST 2006
Panagiotis Atmatzidis wrote:
> Raoul wrote:
>> On Fri, 2006-05-05 at 15:22 +0300, Emm Vasilakis wrote:
>>> On Παρ, 2006-05-05 at 13:36 +0300, Raoul wrote:
>>>> Μπορεί κάποιος να μου εξηγήσει με δυο λόγια τι ακριβώς κάνει το
>>>> LD_PRELOAD?
>>>>
>>>> Για παράδειγμα, κάποιο πρόγραμμα, αν το τρέξει κανείς κατευθείαν:
>>>>
>>>> # ./someprogram
>>>>
>>>> ...δεν τρέχει επειδή δεν μπορεί να βρει μια βιβλιοθήκη πχ
>>>> libsomething.so.0
>>>> Αν το τρέξει:
>>>>
>>>> # LD_PRELOAD=/usr/lib/libsomething.so.0 ./someprogram
>>>>
>>>> ...τότε λειτουργεί.
>>>>
>>>> Εφόσον μια βιβλιοθήκη έχει εγκατασταθεί στο /usr/lib/ και έχει τρέξει το
>>>> ldconfig, πώς είναι δυνατόν να μην τη βρίσκει το πρόγραμμα?
>>>>
>>> To ldd ./someprogram ti leei?
>>>
>> Αυτό είναι το output. Η libsomething που γράφω παραπάνω είναι η /usr/lib/libalut.so.0
>>
>> linux-gate.so.1 => (0x00785000)
>> libGL.so.1 => /usr/lib/nvidia/libGL.so.1 (0x07c39000)
>> libGLU.so.1 => /usr/lib/libGLU.so.1 (0x07bbd000)
>> libXext.so.6 => /usr/lib/libXext.so.6 (0x00afb000)
>> libX11.so.6 => /usr/lib/libX11.so.6 (0x009ae000)
>> libopenal.so.0 => /usr/lib/libopenal.so.0 (0x00517000)
>> libpthread.so.0 => /lib/libpthread.so.0 (0x00ba6000)
>> libdl.so.2 => /lib/libdl.so.2 (0x008ff000)
>> libm.so.6 => /lib/libm.so.6 (0x008d8000)
>> libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x006dd000)
>> libc.so.6 => /lib/libc.so.6 (0x007a3000)
>> libGLcore.so.1 => /usr/lib/nvidia/libGLcore.so.1 (0x07414000)
>> libnvidia-tls.so.1 => /usr/lib/nvidia/tls/libnvidia-tls.so.1 (0x00dfc000)
>> libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x058a3000)
>> libXau.so.6 => /usr/lib/libXau.so.6 (0x00aad000)
>> libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00ab2000)
>> /lib/ld-linux.so.2 (0x00786000)
>>
>> Δεν βλέπω πουθενά libalut
>>
>>
>>
>> ------------------------------------------------------------------------
>>
>>
>
> Στο manpage λέει ότι δεν χρειάζεται αλλά δοκίμασε να βάλεις το path στο
> /etc/ld.so.conf μήπως και το δεί το ldconfig.
den 8a boh8hsei se tipota afou h ldd deixnei o to programma den psaxnei
thn libalut, ara den 8a thn brei pote.
h ld_preload xrhsimopoieitai gia na fortw8oun biblio8hkes pou den
gnwrize o linker thn wra tou compile, synh8ws parallages twn arxikwn
biblio8hkwn. isws h libalut.so na htan meros ths libopenal.so thn wra
tou linking.
>
>
--
JHN
More information about the Linux-greek-users
mailing list