versiones pagina oficial nĂșcleo historia descargar linux

pagina - Linux-Usando ldconfig



linux versiones (2)

Simplemente haz el enlace simbólico tú mismo:

ln -s /usr/lib/foo.so.1.1.1 /usr/lib/foo.so

Tenga en cuenta que para que las aplicaciones utilicen bibliotecas de esta manera, deben vincularse explícitamente con el objeto compartido no versionado. IE: este es un mecanismo para eludir por completo el sistema de coincidencia de versiones del cargador dinámico.

Digamos que he agregado una biblioteca foo.so.1.1.1 a una ruta que se incluye en /etc/ld.so.conf Cuando ejecuto ldconfig en el sistema obtengo los enlaces foo.so.1.1 y foo.so .1 a foo.so.1.1.1

¿Cómo puedo cambiar el comportamiento para obtener también el enlace foo.so a foo.so.1.1.1?


ldconfig busca dentro de todos los objetos compartidos que encuentra, para buscar el soname. Luego crea un enlace usando ese soname como el nombre del enlace. Es convencional (pero está lejos de ser universal) que el soname sea el nombre y la versión principal de la biblioteca, por lo que su biblioteca foo.so.1.1 tendrá un soname de foo.so.1 y ldconfig creará un enlace llamado así.

Ninguna parte del sistema de tiempo de ejecución busca o conoce algo sobre el nombre foo.so. Eso se usa cuando vincula sus programas a la biblioteca. No tiene sentido tener ese enlace a menos que también tenga todos los otros archivos de desarrollo (encabezados, etc.) para la biblioteca, por lo que no tiene sentido que ldconfig lo cree automáticamente. Y dado que el nombre del enlace a utilizar es solo otra convención, y en este caso no se almacena dentro del archivo, no hay forma de que ldconfig sepa qué nombre crear.

Normalmente esto se crearía manualmente, en el destino de instalación del Makefile; cuando una biblioteca se empaqueta para una distribución de Linux, el vínculo normalmente vive en el paquete -dev junto con los archivos de encabezado.