在使用 Jenkins 编译我们的一些软件时,我遇到了一个问题。在 Jenkins 运行的机器上(在不同的用户下)手动编译软件时,可执行文件的 ldd 显示(除其他外):
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1
通过构建作业在同一台机器上使用 Jenkins 进行编译时,这将更改为
libz.so.1 => /opt/<projectName>/root/bin/./../../lib/libz.so.1
我不确定为什么。我的用户和詹金斯用户的输出
ldconfig -v 2>/dev/null | grep -v ^$'\t'
完全一样,没有提及通过 Jenkins 编译的可执行文件中链接的路径。
我试过了
export LD_LIBRARY_PATH=
在项目的 build.sh 中覆盖可能在那里设置的一些其他值,但它没有改变任何东西。
如何强制 conda/jenkins 忽略 conda 库并改用系统库?