Почему LD_LIBRARY_PATH работает только в ~ / Desktop /?

Если я запустил приложение приложения из ~/Desktop/, я получаю:

/home/me/Desktop/app: error while loading shared libraries: somelib.so.0: cannot open shared object file: No such file or directory

Итак, я создал этот скрипт под названием app :

DIR="$(dirname "$0")" export LD_LIBRARY_PATH=$DIR $DIR/app

И тогда приложение запускается.

Однако я решил, что не хочу иметь его на рабочем столе, но иметь под ~/dev/apps/. Поэтому я перемещаю все файлы (app, 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/, все равно не run.

Обратите внимание:

Все каталоги и файлы имеют одинаковые разрешения. Все файлы находятся в одном каталоге. Я вызываю скрипт из ~/Destop/app.sh или ~/dev/app/app.sh. Я запускаю его из /home/me

Является ли это нормальным поведением или что-то не так с моей настройкой или настройкой?

0
задан 21 July 2017 в 06:13

6 ответов

Я понял, что при копировании всех файлов в Nautilus динамическая библиотека копировалась как мягкая ссылка, а размер файла был намного меньше.

Удаление библиотеки и копирование ее снова из bash fixed проблема.

Я добавляю Nautilus в качестве тега к вопросу. Однако я больше не могу воспроизвести эту проблему, даже когда копирование снова начинается с Nautilus.

0
ответ дан 22 May 2018 в 20:22

Я понял, что при копировании всех файлов в Nautilus динамическая библиотека копировалась как мягкая ссылка, а размер файла был намного меньше.

Удаление библиотеки и копирование ее снова из bash fixed проблема.

Я добавляю Nautilus в качестве тега к вопросу. Однако я больше не могу воспроизвести эту проблему, даже когда копирование снова начинается с Nautilus.

0
ответ дан 18 July 2018 в 09:59

Я понял, что при копировании всех файлов в Nautilus динамическая библиотека копировалась как мягкая ссылка, а размер файла был намного меньше.

Удаление библиотеки и копирование ее снова из bash fixed проблема.

Я добавляю Nautilus в качестве тега к вопросу. Однако я больше не могу воспроизвести эту проблему, даже когда копирование снова начинается с Nautilus.

0
ответ дан 24 July 2018 в 19:29

Вы можете добавить явный путь в LD_LIBRARY_PATH следующим образом:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/me/Desktop/app/lib

(используйте примерный путь к библиотеке)

Также вы можете добавить это в свой .bash_profile

Также вы можете создать softlink в /usr/lib в своей библиотеке

0
ответ дан 22 May 2018 в 20:22

Вы можете добавить явный путь в LD_LIBRARY_PATH следующим образом:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/me/Desktop/app/lib

(используйте примерный путь к библиотеке)

Также вы можете добавить это в свой .bash_profile

Также вы можете создать softlink в /usr/lib в своей библиотеке

0
ответ дан 18 July 2018 в 09:59

Вы можете добавить явный путь в LD_LIBRARY_PATH следующим образом:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/me/Desktop/app/lib

(используйте примерный путь к библиотеке)

Также вы можете добавить это в свой .bash_profile

Также вы можете создать softlink в /usr/lib в своей библиотеке

0
ответ дан 24 July 2018 в 19:29

Другие вопросы по тегам:

Похожие вопросы: