Linux centos 6.2无法加载我的共享库
我使用2.15 glibc在Gentoo linux(x86_64)上编译我的项目。Linux centos 6.2无法加载我的共享库,linux,Linux,我使用2.15 glibc在Gentoo linux(x86_64)上编译我的项目。 然后我用glibc 2.12将*.so复制到centos服务器(6.2 x86_64)上。 运行命令时: LD_LIBRARY_PATH=/home/ray/deploy/lib:/opt/glibc-2.15/lib:$LD_LIBRARY_PATH ./deploy/proxy/scan 我得到一个错误: ./deploy/proxy/scan: error while loading shared l
然后我用glibc 2.12将*.so复制到centos服务器(6.2 x86_64)上。
运行命令时:
LD_LIBRARY_PATH=/home/ray/deploy/lib:/opt/glibc-2.15/lib:$LD_LIBRARY_PATH ./deploy/proxy/scan
我得到一个错误:
./deploy/proxy/scan: error while loading shared libraries: libchecksum.so: cannot open shared object file: No such file or directory
让我困惑的是,当我运行命令时:
sudo LD_LIBRARY_PATH=/home/ray/deploy/lib:/opt/glibc-2.15/lib:$LD_LIBRARY_PATH ./deploy/proxy/scan
它起作用了。
有人知道出了什么问题吗?ldd信息:
linux-vdso.so.1 => (0x00007fff207c1000)
libchecksum.so => /home/ray/deploy/lib/libchecksum.so (0x00007fcccced2000)
libportscan.so => /home/ray/deploy/lib/libportscan.so (0x00007fccccccc000)
libc.so.6 => /opt/glibc-2.15/lib/libc.so.6 (0x00007fcccc926000)
/lib64/ld-linux-x86-64.so.2 (0x00007fcccd0d5000)
这表明找到了*.so
感谢您的评论。我尝试在服务器上编译,但问题仍然存在。
我尝试将0777赋给libs并运行脚本,但仍然不起作用。setcap或sudo禁用LD_LIBRARY_PATH变量。因此,它不起作用。
您可以在gcc中使用rpath选项,或者只将共享库链接到/usr/lib。如果它在根目录下工作,而不是在普通用户下工作,则可能是权限,否?您不能跨系统复制共享对象文件,因为您将遇到冲突。在CentOS上编译您的项目。