У меня есть код, который использует некоторые общие библиотеки (c-код на gcc). При компиляции я должен явно определять каталоги include и library, используя -I и -L, так как они не находятся в стандартных местах. Когда я пытаюсь запустить код, я получаю следующую ошибку:
./sync_test
./sync_test: error while loading shared libraries: libsync.so: cannot open shared object file: No such file or directory
Однако выполните следующие действия: все работает отлично:
export LD_LIBRARY_PATH="/path/to/library/"
./sync_test
Теперь, странная часть, это работает только один раз. Если я попытаюсь запустить sync_test снова, я получаю ту же ошибку, если не запускаю команду экспорта в первую очередь. Я попытался добавить следующее к моему .bashrc, но это не имело значения:
LD_LIBRARY_PATH="/path/to/library/"