¿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?

Respuestas:


3

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


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.