Sé
export LD_LIBRARY_PATH=xxxxx
permitirá que el kernel busque la biblioteca de destino en esta ruta.
pero ¿por qué asignarlo como':'
export LD_LIBRARY_PATH=:
¿Cuál es la función? Funciona si .así en la ruta actual.
Por cierto, cuando separamos caminos, ¿no deberíamos usar ';' ?
ex:
export LD_LIBRARY_PATH=foo1;foo2
Respuesta1
LD_LIBRARY_PATH lo utiliza el vinculador dinámico, no el kernel. El nombre del enlazador dinámico varía pero es algo así como /lib64/ld-linux-x86-64.so.2.
Está documentado por man ld.so
. En mi sistema dice
LD_LIBRARY_PATH
A list of directories in which to search for ELF libraries at execution
time. The items in the list are separated by either colons or
semicolons, and there is no support for escaping either separator.
El uso de dos puntos tiene la pequeña ventaja de no necesitar comillas, ya que ;
es un carácter especial del shell. También concuerda con el uso de dos puntos en el valor de la variable PATH.
En cuanto a por qué LD_LIBRARY_PATH=:
, sugiero conseguir un libro o guía mejor.