.png)
¿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 user1
y user2
. user1
puede ejecutar el ejecutable pero user2
encuentra 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)