Σχετικά με το LD_PRELOAD

Panagiotis Atmatzidis p.atmatzidis at gmail.com
Fri May 5 20:05:31 EEST 2006


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.




More information about the Linux-greek-users mailing list