Rutas de búsqueda de archivos de objetos compartidos (so)

Rutas de búsqueda de archivos de objetos compartidos (so)

¿Cuál es la secuencia de rutas que se buscan para cargar un archivo de objeto compartido?

Estoy intentando ejecutar un ejecutable que intenta cargar un archivo de objeto compartido. El archivo de objeto compartido se puede encontrar en /usr/lib/x86_64-linux-gnu/.

Tengo dos usuarios, llamémoslos user1y user2. user1puede ejecutar el ejecutable pero user2encuentra el error: no se puede abrir el archivo de objeto compartido: libicuuc.so

Ambos usuarios tienen lo mismo LD_LIBRARY_PATH. ¿Qué falta?

Respuesta1

hombre ldconfigpuede ayudarte

/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.

pero tu distribución puede contener otra información además de la mía, por lo que deberías leer la tuya.

Otra forma de decidir qué bibliotecas están vinculadas a su ejecutable es usar ellddprograma Un ejemplo:

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

información relacionada