我在 Linux (Ubuntu) 上构建了一个应用程序。涉及的步骤是./configure
使用某些选项,make
然后执行该应用程序。
默认情况下,该应用程序链接/使用文件夹 /usr/local/lib/libstarpu.so.0 中的共享库,但我已下载此 Starpu 的最新源代码并将其安装在我的主目录 $HOME/lib/ 中。
我尝试使用这个新库作为下面 configure 命令的输入,甚至从我的 LD_LIBRARY_PATH 中删除了 /usr/local/lib,但是当我使用 ldd 检查时,它似乎仍然显示可执行文件是使用 /usr/local/lib 中旧版本的库构建的。
./configure LDFLAGS="-l:$HOME/lib/libstarpu.so.0"
如何使我的构建系统在不同于系统默认的 /usr/local/lib 的文件夹中使用该共享库的较新版本?
我是否需要修改与构建相关的 makefile 和配置文件中的任何内容?
答案1
尝试:
LD_LIBRARY_PATH="$HOME/lib" ./configure
无论如何,请检查这里解释的环境变量:
man ld.so