Я получаю ошибки общей библиотеки всякий раз, когда мне кажется, что я устанавливаю программное обеспечение вручную. После выполнения echo $LD_LIBRARY_PATH
это проявляется как ... ничего . Я попытался добавить /usr/local/lib
в .conf
файл, /etc/ld.so.conf.d
но кажется, что он никогда не выполняется.
Это тоже не работает (цитаты или иначе):
LD_LIBRARY_PATH="/usr/local/lib"
export LD_LIBRARY_PATH
sudo ldconfig -v
Значение будет установлено временно, но оно не сохранит значение, если я выйду из окна терминала. Перезагрузка тоже ничего не дает.
sudo
environment-variables
shared-library
Rissident Rage
источник
источник
~/.bashrc
Ответы:
Добавьте следующее к вашему
.bashrc
:Это позволит вам перезагрузить компьютер и назначить этот путь.
источник
/etc/ld.so.conf.d
?На Red Hat Enterprise Linux (RHEL) 6,
/etc/ld.so.conf
содержитinclude ld.so.conf.d/*.conf
. Без этой строки элементы в/etc/ld.so.conf.d/*.conf
никогда не будут анализироваться.Чтобы увидеть, какие библиотеки / каталоги
ldconfig
анализируетисточник
/etc/ld.so.conf
ранее, поскольку мне было любопытно, что это содержало. У него былаinclude
линия.ldconfig -v
может дать вам представление о том, почему библиотека не включена. Вы можете запуститьldconfig -p
печать библиотек и каталогов, которые находятся в текущем файле кэша.Я наконец решил это с псевдонимом:
Обязательно используйте одинарные кавычки, чтобы переменные раскрывались во время вызова, а не во время определения псевдонима.
Эта:
(Вы можете увидеть , что вещи , приготовьтесь к с:
sudo bash -c "echo $HOME"
)Я работаю с нестандартными драйверами и всегда вынужден использовать свои тестовые программы для доступа к драйверу. Я не хочу устанавливать тестовые версии библиотек в системной области, поэтому я использую LD_LIBRARY_PATH для настройки конкретного тестового каталога по мере необходимости. Я не могу просто установить фиксированный LD_LIBRARY_PATH, мне нужно иметь возможность изменить его и сохранить текущие настройки. Сохранение PATH и HOME дает мне доступ к моей рабочей среде - сценариям и структуре каталогов.
Этот псевдоним позволяет избежать необходимости предоставления общих разрешений в sudoers ... и, по-видимому, в любом случае обходного пути для LD_LIBRARY_PATH не существует, независимо от настроек sudoers. Это не работает sudo внутри скриптов, но они могут быть жестко закодированы по мере необходимости.
источник