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

0

У меня есть приложение, которое я создаю на 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?

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

Золотая середина
источник

Ответы:

0

Пытаться:

LD_LIBRARY_PATH="$HOME/lib" ./configure

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

man ld.so
golimar
источник