Если я запускаю приложение приложения от ~/Desktop/
Я добираюсь:
/home/me/Desktop/app: error while loading shared libraries: somelib.so.0: cannot open shared object file: No such file or directory
Таким образом, я создал этот сценарий, названный app.sh:
DIR="$(dirname "$0")"
export LD_LIBRARY_PATH=$DIR
$DIR/app
И затем выполнение приложения.
Однако я решил, что не хочу иметь его на Рабочем столе, но иметь под ~/dev/apps/
. Таким образом, я перемещаю все файлы (приложение, somelib.so.0, app.sh) и получаю эту ошибку, когда я запускаю скрипт:
/home/me/dev/apps/app: error while loading shared libraries: somelib.so.0: cannot open shared object file: No such file or directory
Если я перемещаю его в ~/foo/bar/
все еще не работает.
Пожалуйста, примите во внимание:
~/Destop/app.sh
или ~/dev/app/app.sh
./home/me
Действительно ли это - нормальное поведение или является там чем-то не так с моей установкой или конфигурацией?
Я понял, что при копировании всех файлов в Наутилусе, динамическая библиотека копировалась как гибкая ссылка, и размер файла был намного меньше.
Библиотека Deleting это и копирование его снова от удара решило проблему.
Я добавляю Наутилус как тег к вопросу. Однако я не могу больше воспроизводить эту проблему, даже когда вставка копии снова от Наутилуса.
Можно включить явный путь LD_LIBRARY_PATH
как это:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/me/Desktop/app/lib
(используйте путь в качестве примера к библиотеке),
Также можно включить это Ваш .bash_profile
Также можно создать softlink в /usr/lib
к Вашей библиотеке