В Ubuntu как моя переменная окружения `LD_LIBRARY_PATH` пуста, даже если`ldd mybinary` явно находит пути?
Я пытаюсь создать свое собственное локальное приложение. Так как snapcraft
не хватает qbs
Поддержка, я пытаюсь разработать свою собственную пассивную поддержку для QBS.
В любом случае, просто выполняя это, в QtCreator проекты qbs допускают опцию установки:
И вот что я сделал, пока QBS делает:
$ tree ./bin
./bin
└── category-scraper
0 directories, 9 files
$ tree ./lib
./lib
├── libqconsoletoolkit.so
├── libqnetworktoolkit.so
├── libqparsingtoolkit.so
├── libqsnappytoolkit.so
└── libqunicodetoolkit.so
0 directories, 15 files
Когда я запускаю приложение:
$ ./bin/category-scraper
./bin/category-scraper: error while loading shared libraries: libqnetworktoolkit.so: cannot open shared object file: No such file or directory
Что имеет смысл, потому что ldd
говорит:
$ ldd bin/category-scraper
linux-vdso.so.1 (0x00007ffe23b57000)
libQt5WebEngineWidgets.so.5 => /home/akiva/Programming/Qt/5.11.1/gcc_64/lib/libQt5WebEngineWidgets.so.5 (0x00007f843ca44000)
libQt5Widgets.so.5 => /home/akiva/Programming/Qt/5.11.1/gcc_64/lib/libQt5Widgets.so.5 (0x00007f843c200000)
libQt5Network.so.5 => /home/akiva/Programming/Qt/5.11.1/gcc_64/lib/libQt5Network.so.5 (0x00007f843be6b000)
libQt5Core.so.5 => /home/akiva/Programming/Qt/5.11.1/gcc_64/lib/libQt5Core.so.5 (0x00007f843b711000)
libqnetworktoolkit.so => not found
libqunicodetoolkit.so => not found
libqparsingtoolkit.so => not found
libqconsoletoolkit.so => not found
libqsnappytoolkit.so => not found
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f843b388000)
Что сбивает с толку меня это:
$ echo $LD_LIBRARY_PATH
ничего не выдает, а переменная окружения даже не существовала, пока я не попытался установить ее вручную... что тоже не сработало.
Почему эта переменная среды пуста и как ldd связывается без этой переменной, и что я могу сделать, чтобы она нашла .so
файлы я определяю?
Благодарю.