Σχετικά με το 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