Caminhos de pesquisa de arquivos de objetos compartilhados (so)

Caminhos de pesquisa de arquivos de objetos compartilhados (so)

Qual é a sequência de caminhos pesquisados ​​para carregar um arquivo objeto compartilhado?

Estou tentando executar um executável que tenta carregar um arquivo de objeto compartilhado. O arquivo do objeto compartilhado pode ser encontrado em /usr/lib/x86_64-linux-gnu/.

Tenho dois usuários, vamos ligar para eles user1e user2. user1pode executar o executável, mas user2encontra o erro: não é possível abrir o arquivo de objeto compartilhado: libicuuc.so

Ambos os usuários têm o mesmo arquivo LD_LIBRARY_PATH. O que está faltando?

Responder1

homem ldconfigpode ajudá-lo

/etc/ld.so.cache    File  containing an ordered list of libraries found
                    in the directories specified in /etc/ld.so.conf, as
                    well as those found in /lib and /usr/lib.

mas sua distribuição pode conter outras informações além das minhas, então você deve ler a sua.

Outra maneira de decidir quais/quais bibliotecas estão vinculadas ao seu executável é usar olddprograma Um exemplo:

ldd /bin/echo
        linux-vdso.so.1 =>  (0x00007ffc2277a000)
        libc.so.6 => /lib64/libc.so.6 (0x0000003edc200000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003edbe00000)

informação relacionada