¿Cómo encontrar un archivo de biblioteca compartida, si está en $ LD_LIBRARY_PATH y sé el nombre de la biblioteca (sin acceso a la raíz)?


0

Supongamos que tengo un programa que depende libbz2. El libbz2.so.1archivo está en $ LD_LIBRARY_PATH, y puedo compilarlo -lbz2sin ningún problema.

¿Cómo puedo encontrar el archivo de objeto compartido particular utilizado para la compilación?

Una forma estándar de hacerlo es usar ldconfig(como aquí , por ejemplo). Sin embargo, ldconfigrequiere root, al menos en Debian, y quiero buscar el archivo desde un script bash sin privilegios.

Entonces la pregunta es, ¿cómo encontrar un archivo específico utilizado sin acceso de root? Dado que gcc no tiene problemas para encontrar la biblioteca, parece muy posible.

Editar : parece que he formulado mal mi pregunta inicial. Quiero saber qué archivo usaría el enlazador si compilara el programa, sin realmente compilarlo .


Echa un vistazo a ldd.
dirkt

Quiero encontrar el archivo antes de la compilación.
lunes

¿Quiere decir que desea encontrar el archivo que gccusaría, dadas las opciones proporcionadas? Por favor aclara tu pregunta.
dirkt


Sí exactamente. He agregado una aclaración a la pregunta inicial.
lunes
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.