Lidando com os locais das bibliotecas

2

O que você pode fazer quando o seu sistema Linux "não consegue encontrar" bibliotecas vinculadas dinamicamente que estão de fato instaladas em seus locais corretos?

Neste caso, estou tentando executar um programa chamado 'ucanvcam':

oliver@human ~/installed/ucanvcam-0.1.6/bin $ ./ucanvcam
./ucanvcam: error while loading shared libraries: libgd.so.2: cannot open shared object file: No such file or directory

oliver@human ~/installed/ucanvcam-0.1.6/bin $ locate libgd.so.2
/usr/lib64/libgd.so.2.0.0
/usr/lib64/libgd.so.2

oliver@human ~/installed/ucanvcam-0.1.6/bin $ ldd ./ucanvcam
    linux-gate.so.1 =>  (0xf7706000)
    [...]
    libgd.so.2 => not found
    [...]
    librt.so.1 => /lib32/librt.so.1 (0xf6b1e000)

Como posso dizer para procurar por libgd.so.2 em / usr / lib64? E mais importante, por que não está olhando lá e onde está olhando?

Obrigado,
Mala

    
por Mala 07.03.2010 / 06:32

1 resposta

1

A página de manual para ld.so irá ajudá-lo com isso. Em particular, as coisas importantes para olhar são provavelmente o conteúdo de sua variável de shell LD_LIBRARY_PATH e o arquivo /etc/ld.so.conf .

    
por 07.03.2010 / 06:52