Не удается найти libGLU.so.1 при попытке запустить VisIt - PullRequest
0 голосов
/ 31 октября 2019

Общая проблема

Я пытался запустить несколько программ (VisIt и Athena), и у меня возникли похожие проблемы - невозможность найти общие библиотеки, хотя они существуют в другом месте.

Вывод кода / Ошибки

Попытка запустить Athena дает мне

[~athena/working]$ ~/athena/bin/athena -i athinput.blast >log
/nethome/myname/athena/bin/athena: error while loading shared libraries: libhdf5.so.103

или при запуске VisIt

[~/local/visit/bin]$ ./visit
Running: gui3.0.2
/localdata/myname/visit/3.0.2/linux-x86_64/bin/gui: error while loading shared libraries: libGLU.so.1: cannot open shared object file: No such file or directory

То, что я пытался

Если я использую find -iname, я могу найти обе эти библиотеки

[~/local/anaconda2]$ find -iname 'libhdf5.so.103'
./lib/libhdf5.so.103
./pkgs/hdf5-1.10.4-nompi_h3c11f04_1106/lib/libhdf5.so.103
./pkgs/hdf5-1.10.4-hb1b8bf9_0/lib/libhdf5.so.103

и

[~/local/anaconda2]$ find -iname 'libGLU.so.1'
./lib/libGLU.so.1
./pkgs/libglu-9.0.0-hf484d3e_1/lib/libGLU.so.1

Что мне нужно сделать, чтобы указать на них. Я попытался обновить путь к компилятору, используя export CPATH, и попытался добавить LDLIBS := -L/nethome/sferrel6/local/anaconda2/lib -lhdf5 в Makefile Athena (который ранее помог мне найти библиотеку hdf5)

1 Ответ

0 голосов
/ 03 ноября 2019

Что мне нужно сделать, чтобы указать на них

Поскольку эти библиотеки не установлены в системных расположениях по умолчанию, вы должны сообщитьдинамический загрузчик, где их найти. См. man ld.so в вашей системе.

Предполагая, что вы работаете в Linux, вы можете сделать это следующим образом:

  1. export LD_LIBRARY_PATH=$HOME/local/anaconda2/lib
  2. Повторная ссылкаathena двоичный файл с -Wl,-rpath=$HOME/local/anaconda2/lib
  3. (требуется root-доступ). Отредактируйте /etc/ld.so.conf, добавьте $HOME/local/anaconda2/lib к нему, запустите /sbin/ldconfig, чтобы обновить /etc/ld.so.cache.
...