Как установить переменную окружения LD_LIBRARY_PATH в Linux

Сначала я выполнил команду: export LD_LIBRARY_PATH=/usr/local/lib

Затем я открыл файл .bash_profile: vi ~/.bash_profile. В этом файле я поставил:

LD_LIBRARY_PATH=/usr/local/lib
export LD_LIBRARY_PATH

Затем, если терминал закрыт и перезапущен, ввод echo $LD_LIBRARY_PATH не отображает результат.

Как установить путь навсегда?

Ответ 1

Вы должны добавить более подробную информацию о своем дистрибутиве, например, в Ubuntu правильным способом сделать это - добавить пользовательский .conf файл в /etc/ld.so.conf.d, например

sudo gedit /etc/ld.so.conf.d/randomLibs.conf

внутри файла вы должны написать полный путь к каталогу, который содержит все библиотеки, которые вы хотите добавить в систему, например

/home/linux/myLocalLibs

Не забудьте добавить только путь к директории, а не полный путь к файлу, все библиотеки внутри этого пути будут автоматически индексироваться.

Сохраните и запустите sudo ldconfig, чтобы обновить систему с помощью этих библиотек.

Ответ 2

Добавить

LD_LIBRARY_PATH = "/путь/вы/want1:/путь/вы/хотите/2"

to /etc/environment

См. документацию Ubuntu.

КОРРЕКЦИЯ: Я должен взять мой собственный совет и фактически прочитать документацию. В нем говорится, что это не относится к LD_LIBRARY_PATH: поскольку Ubuntu 9.04 Jaunty Jackalope, LD_LIBRARY_PATH не может быть установлен в файлах $HOME/.profile,/etc/profile, а также /etc/environment. Вы должны использовать конфигурационные файлы /etc/ld.so.conf.d/.conf. * Таким образом, user1824407 отвечает на вопрос.

Ответ 3

Сохраняйте предыдущий путь, не перезаписывайте его:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/your/custom/path/

Вы можете добавить его в свой файл ~/.bashrc:

echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/your/custom/path/" >> ~/.bashrc

Ответ 4

Файл .bash_profile выполняется только с помощью оболочек входа. Возможно, вам нужно будет поместить его в ~/.bashrc или просто выйти из системы и снова войти в систему.

Ответ 5

Поместите export LD_LIBRARY_PATH=/usr/local/lib в ~/.bashrc [желательно в конец script, чтобы избежать каких-либо переопределений между ними, по умолчанию ~/.bashrc поставляется со многими операторами if-else]

Сообщайте, что всякий раз, когда вы открываете новый терминал/консоль, LD_LIBRARY_PATH будет отображаться

Ответ 6

По какой-то причине никто не упомянул о том, что после редактирования bashrc необходимо повторно загрузить. Вы можете либо выйти из системы, либо войти в систему (как указано выше), но вы также можете использовать команды: source ~/.bashrc или . ~/.bashrc.

Ответ 7

В качестве альтернативы вы можете выполнить программу с указанным библиотекой dir:

/lib/ld-linux.so.2 --library-path PATH EXECUTABLE

Подробнее здесь.

Ответ 8

  • Перейдите в домашнюю папку и отредактируйте файл .profile
  • Поместите следующую строку в конец

    export LD_LIBRARY_PATH=<your path>

  • Сохранить и выйти.

  • Выполните эту команду

    sudo ldconfig

Ответ 9

Я делаю следующее в Mint с 15 по 17, также работает на сервере ubuntu 12.04 и выше:

sudo vi /etc/bash.bashrc 

прокрутите страницу вниз и добавьте:

export LD_LIBRARY_PATH=.

Все пользователи имеют добавленную переменную окружения.

Ответ 10

Вы можете попробовать добавить пользовательский script, скажем myenv_vars.sh в /etc/profile.d.

cd /etc/profile.d
sudo touch myenv_vars.sh
sudo gedit myenv_vars.sh

Добавьте это в пустой файл и сохраните его.

export LD_LIBRARY_PATH=/usr/local/lib

Выход и логин, LD_LIBRARY_PATH будут установлены навсегда.