¿Cuál es la forma preferida de establecer la ruta para los directorios de la biblioteca?

5

Instalé un binario y sus dependencias en una ubicación no estándar. Cuando ejecuto el binario, necesito especificar las ubicaciones de la biblioteca de todas sus dependencias. Sé que una forma de hacer esto es hacer:

export LD_LIBRARY_PATH="/path/to/shared/libraries:/path/to/more/shared/libraries"

... pero esto parece hackear, ya que tendré que poner esto en el .bashrc de cada usuario que tenga la intención de ejecutar el programa. Sin instalar las bibliotecas en un directorio del sistema, ¿hay una mejor manera de garantizar que el binario siempre pueda vincularse a las bibliotecas correctas?

elynnaie
fuente

Respuestas:

3

Puede poner esta línea /etc/profiley se aplicará a todas las cuentas de usuario.

davidscolgan
fuente
Esto parece funcionar solo para shells de inicio de sesión. Como quiero que se ejecute cada vez que inicio bash, en su lugar lo pongo en mi /etc/bash.bashrc para que se active para cada shell bash.
elynnaie
2

Escribe un guión de envoltura.

#!/bin/bash

function my_directory
{
  olddir="$(pwd)"
  cd "$(dirname $0)"
  echo "$(pwd)"
  cd "$olddir"
}

export LD_LIBRARY_PATH="$my_directory/relative/path/to/shared/libraries:$my_directory/relative//path/to/more/shared/libraries"
$my_directory/relative/path/to/executable
ctrl-alt-delor
fuente