Який кращий спосіб встановити шлях для бібліотечних каталогів?


5

Я встановив бінарне та його залежності до нестандартного місця. Коли я запускаю бінарне, мені потрібно вказати розташування бібліотеки всіх її залежностей. Я знаю, що одним із способів цього є:

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

... але це здається нерозумним, оскільки мені потрібно буде вкласти це у кожен користувач .bashrc, який має намір запустити програму. Не встановлюючи libs до системного каталогу, чи є кращий спосіб забезпечити, щоб двійковий файл завжди міг зв’язатися з правильними libs?

Відповіді:


3

Ви можете помістити цей рядок /etc/profileі він застосовуватиметься до всіх облікових записів користувачів.


Здається, це працює лише для оболонок для входу. Оскільки я хочу, щоб він запускався кожного разу, коли я запускаю bash, я замість цього поміщаю його в /etc/bash.bashrc, щоб він спрацьовував для кожної оболонки bash.
elynnaie

2

Напишіть сценарій обгортки.

#!/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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.