У меня есть приложение, которое я создаю на Linux (Ubuntu). Для этого необходимо выполнить следующие действия ./configure с определенными параметрами, make , а затем запустить приложение.

По умолчанию приложение связывает / использует совместно используемую библиотеку, находящуюся в папке /usr/local/lib/libstarpu.so.0, но я скачал самый последний исходный код для этого Starpu и установил его в моем домашнем $ HOME / lib /.

Я попытался использовать эту новую библиотеку в качестве входных данных для команды configure, как показано ниже, и даже удалил /usr /local /lib из моей LD_LIBRARY_PATH, но все же, когда я проверяю с помощью ldd, кажется, что исполняемый файл собран со старой версией библиотека в /usr /local /lib.

./configure LDFLAGS="-l:$HOME/lib/libstarpu.so.0"

Как заставить мою систему сборки использовать более новую версию этой общей библиотеки в папке, отличной от системной по умолчанию /usr /local /lib?

Нужно ли что-либо изменять в моих сборочных файлах, связанных с сборкой, настраивать файлы?

1 ответ1

0

Пытаться:

LD_LIBRARY_PATH="$HOME/lib" ./configure

В любом случае, проверьте переменные среды, описанные здесь:

man ld.so

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .