I am working in в server (I am not the admin) where I must run jobs in .pbs
format so I хан disconnect my computer while в job is running.
The problem is that I cannot run in .pbs format the same commands гm able to run in .sh format, it says:
error while loading shared libraries: libftgl.so.2: cannot open shared object file: No such file or directory
This library is located in /usr/lib264
.
I tried to export this library but в I мае have подарил it wrong.
How to do it exactly?
Проблема - это ld
(компоновщик GNU), не может найти библиотеку, потому что библиотека не находится ни один в ld
доверяемый путь, ни путь библиотеки были сделаны доступными для ld
другими средствами.
Таким образом, необходимо сделать путь библиотеки доступным для ld
.
Так как у Вас нет полномочий администрирования, необходимо будет переопределить локальное ld
настройки, которые могут быть сделаны путем добавления пути к LD_LIBRARY_PATH
переменная среды:
printf "export LD_LIBRARY_PATH=\"$LD_LIBRARY_PATH:/usr/lib264\n\"" >>~/.bashrc
И путем определения источника ~/.bashrc
применять изменения в рабочей оболочке:
. ~/.bashrc
"Правильный" способ сделать библиотеки содержавшимися в /usr/lib264
доступный в масштабе всей системы должен был бы добавить a .conf
файл, содержащий путь библиотеки в /etc/ld.so.conf.d/
и обновить ld
кэш.
Это требует полномочий администрирования, таким образом, это не относится к Вашему случаю; однако я оставляю это для других людей, спотыкающихся через этот ответ.
Во-первых, нужно добавить a .conf
файл, содержащий путь библиотеки в /etc/ld.so.conf.d/
:
printf "/usr/lib264\n" | sudo tee -a /etc/ld.so.conf.d/other_libraries.conf
Затем нужно работать ldconfig
обновить ld
кэш:
ldconfig
После этого путь библиотеки должен быть доступен ld
в масштабе всей системы.