ld.so(8) ld.so(8)
NAZWA
ld.so - dynamiczny konsolidator/ładowacz a.out
OPIS
ld.so kończy ostateczny proces konsolidowania wszystkich
niezbędnych referencji do dzielonych obiektów i
niewskazanych symboli nieczystego pliku wykonywalnego
(zwykle łączonego dynamicznie pliku wykonywalnego) i
tworzy plik uruchamialny.
O ile podczas kompilacji nie podano jawnie opcji -static,
wszystkie binaria linuxowe formatu a.out będą niekompletne
i będą wymagały dalszego konsolidowania podczas działania.
Zadaniem ld.so jest więc zakończenie procesu konsolidacji,
rozpoczętego przy kompilacji.
Potrzebne biblioteki dynamiczne (ang. dynamically linked
libraries--DLL), są szukane w następującej kolejności:
o Przy użyciu zmiennej środowiskowej
LD_AOUT_LIBRARY_PATH. Poza binariami suid/sgid,
dla których jest to ignorowane.
o Przy użyciu zmiennej środowiskowej LD_LIBRARY_PATH.
Poza wypadkami, gdy podano LD_AOUT_LIBRARY_PATH lub
gdy binarium ma ustawiony suid/sgid, w którym
wypadku jest do ignorowane.
o Z pliku buforowego /etc/ld.so.cache który zawiera
skompilowaną listę kandydatów, znalezionych w
ścieżce bibliotek.
o W domyślnym katalogu /usr/lib, a potem w /lib.
KOMUNIKATY
ld.so może dawać następujące, często fatalne komunikaty.
can't find library 'libfoo'
Gdy ld.so nie może znaleźć biblioteki wymaganej
przez binarium.
can't load library 'libfoo'
Jeśli biblioteka jest uszkodzona.
incompatible library 'libfoo'
Require major version x and found y
ld.so nie może użyć znalezionej wersji biblioteki,
gdyż nie jest kompatybilna z binarium, które jest
wywoływane.
using incompatible library 'libfoo'
Desire minor version >= x and found y
Nawet mimo że wersja minorowa nie jest kompaty
bilna, ld.so spróbuje jej użyć. Komunikat ten jest
30 Marca 1995 1
ld.so(8) ld.so(8)
powstrzymywany jeśli ustawiona jest zmienna
środowiskowa LD_NOWARN.
too many directories in library path
Istnieje zakodowany limit 32 katalogów przeszukiwa
nia. Powyższe ostrzeżenie oznacza, że jest on
przekroczony.
dynamic linker error in fixup pass 1,2
dynamic linker error in resolve pass
dynamic linker error in reset pass
Próba dokonania potrzebnych napraw i relokacji nie
powiodła się. Jest to zwykle fatalne i oznacza
uszkodzenie binarium.
can't map cache file '/etc/ld.so.cache'
cache file '/etc/ld.so.cache' is corrupt
cache file '/etc/ld.so.cache' has wrong version
cache file '/etc/ld.so.cache' is empty
Napotkano na problem z plikiem buforowym. Wykony
wanie będzie następowało tak, jakby nie istniał.
ŚRODOWISKO
LD_AOUT_LIBRARY_PATH
Oddzielona dwukropkami lista katalogów, w których
szukać bibliotek podczas wykonywania. Podobne do
zmiennej środowiskowej PATH.
LD_LIBRARY_PATH
Oddzielona dwukropkami lista katalogów, w których
szukać bibliotek podczas wykonywania, jeśli nie
podano LD_AOUT_LIBRARY_PATH. Podobne do zmiennej
środowiskowej PATH .
LD_NOWARN
Powstrzymaj ostrzeżenia o bibliotekach o niekom
patybilnych numerach minorowych wersji.
LD_KEEPDIR
Nie ignoruj katalogu w nazwach ładowanych bib
liotek. Używanie tej opcji nie jest zalecane.
LD_AOUT_PRELOAD
Nazwa dodatkowej, podanej przez użytkownika bib
lioteki dzielonej, którą należy załadować po wszys
tkich innych. Może to być uzywane do przeciążania
funkcji innych bibliotek dzielonych.
LD_PRELOAD
Nazwa dodatkowej, podanej przez użytkownika bib
lioteki dzielonej, którą należy załadować po wszys
tkich innych, jeśli nie podano LD_AOUT_PRELOAD.
Może to być używane do przeciążania funkcji innych
bibliotek dzielonych.
30 Marca 1995 2
ld.so(8) ld.so(8)
PLIKI
/lib/ld.so Konsolidator/ładowacz czasu działania
/etc/ld.so.cache Plik zawierający skompilowaną listę
katalogów, w których należy szukać
bibliotek oraz uporządkowaną listę
bibliotek kandydujących.
lib*.so.version Biblioteki dzielone
lib*.sa Wyeksportowane, zainicjalizowane dane
bibliotek
ZOBACZ TAKŻE
ldd(1), ldconfig(8).
BŁEDY
W stanie obecnym, ld.so nie ma narzędzi do usuwania i
szukania kompatybilnych, lub nowszych wersji bibliotek.
Funkcjonalność ld.so dostępna jest tylko dla binariów,
skompilowanych przy użyciu libc w wersji 4.4.3 lub
wyższej.
AUTORZY
David Engel, Eric Youngdale, Peter MacDonald, Hongjiu Lu,
Linus Torvalds, Lars Wirzenius i Mitch D'Souza
(niekoniecznie w tej kolejności).
30 Marca 1995 3
Wyszukiwarka
Podobne podstrony:
OBE, Atlantydzkie, 23 metody, Ldso 3ld 03SO instrukcja 1Film Noir Fascination Outside History, but Historically so oliver harrisld 08SO Upper Intermediate WR U1so wyk5 prezentacjaTata Steel 5015 11 So acorta distancias36 soso lab3Lab 10 SOKocham cię od tak dawna I ve Loved You So Long (2008) Napisy Pl22 soSO Upper Intermediate WR U4SO Intermediate Writing Reference U8so 1Bloodhound Gang I Wish I Was Queer So I Could Get Chickswięcej podobnych podstron