运行第一个命令时,valgrind给我有关剥离的动态链接器的错误,因为它显然未在/ otherRoot / lib中使用该链接器。使用第二个命令,它找到我合适的.so并工作。
作为参考,我在“普通根”和“ otherRoot”中也安装了valgrind。
为什么valgrind / myProg不首先在/ otherRoot / lib中搜索.so?
答案 0 :(得分:0)
运行第一个命令时,valgrind给我有关剥离的动态链接器的错误,因为它显然未在/ otherRoot / lib中使用该链接器。
您的程序使用的动态加载程序不(不能)依赖于LD_LIBRARY_PATH
,因为它是动态加载程序加载的 kernel (内核通常不加载)关心环境变量)。更多信息here。
在chroot
之外,有或没有valgrind都使用“错误的”动态加载程序。您可以通过暂停myProg
并检查/proc/$PID/maps
来确认。