GNU/Linux >> Tutoriales Linux >  >> Linux

Averigüe si la biblioteca está en la ruta

ldconfig puede enumerar todas las bibliotecas a las que tiene acceso. Estas bibliotecas también se almacenan en su caché.

/sbin/ldconfig -v -N rastreará todas las rutas de biblioteca habituales, enumerará todas las bibliotecas disponibles, sin reconstruir el caché (lo que no es posible si no es un usuario root). NO tiene en cuenta las bibliotecas en LD_LIBRARY_PATH (al contrario de lo que decía esta publicación antes de editar), pero puede pasar bibliotecas adicionales a la línea de comando usando la siguiente línea:

/sbin/ldconfig -N -v $(sed 's/:/ /g' <<< $LD_LIBRARY_PATH)

Puede compilar un programa de prueba simple con gcc y vincular su biblioteca. Luego puede verificar las bibliotecas utilizadas con ldd. Yo uso algo como esto:

echo "int main(){}" | gcc -x c++ -Wl,--no-as-needed -lmylib - && ldd a.out | grep mylib

-Wl,--no-as-needed evita que el enlazador descarte la biblioteca, porque no se utilizan símbolos de la biblioteca.


Sustituir globalmente (espacio) por : con LD_LIBRARY_PATH

/sbin/ldconfig -N -v $(sed 's/:/ /g' <<< $LD_LIBRARY_PATH)

Linux
  1. Una guía para comprender las bibliotecas de software de Linux en C

  2. ¿Salir de Find si falla un -exec?

  3. Averigüe la ruta donde está instalado un paquete – CentOS

  4. Introducción a las bibliotecas compartidas de Linux (Cómo crear bibliotecas compartidas)

  5. ld no puede encontrar una biblioteca existente

Encuentra la URL de un archivo

Descubra los procesos huérfanos de Linux

Linux descubre la identificación del núcleo con hiperprocesos

Imprima md5sum de resultados de un comando de búsqueda en Linux

cómo encontrar la ruta del módulo Linux

ldd no encuentra la ruta, cómo agregar