У меня есть код, который использует некоторые общие библиотеки (код c на gcc). При компиляции я должен явно определить каталоги include и библиотеки, используя -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/"