La forma más sencilla de configurar la ruta de carga es a través de la variable de entorno
LD_LIBRARY_PATH
. Por ejemplo, los siguientes comandos configuran la ruta de carga/opt/gdbm-1.8.3/lib
para quelibgdbm.so
se pueda encontrar:$ LD_LIBRARY_PATH=/opt/gdbm-1.8.3/lib $ export LD_LIBRARY_PATH $ ./a.out Storing key-value pair... done.
¿Es correcto que LD_LIBRARY_PATH
no sea una variable de entorno incorporada de Bash? De lo contrario, no es necesario export
.
Un shell Bash se utiliza PATH
para localizar un programa externo y PATH
es una variable de entorno incorporada de Bash.
Un shell Bash utiliza LD_LIBRARY_PATH
para localizar las bibliotecas compartidas en las que se basa un programa para ejecutarse, entonces, ¿por qué no hay LD_LIBRARY_PATH
una variable de entorno incorporada de Bash?
Respuesta1
LD_LIBRARY_PATH
no lo usa el shell, lo usa el vinculador dinámico. Verman ld.so
para detalles.
Si no lo exporta, el vinculador no lo verá y no podrá actuar en consecuencia.