【发布时间】:2014-01-29 01:54:51
【问题描述】:
我遇到了一个问题,我想编译一个项目,当我完成后,它在我编译它的 PC(centos 6.4)上运行良好,但是当我将二进制文件复制到另一台 PC 时( centos 6.4)并尝试运行它,存在依赖关系和错误:
错误信息: ./nano:加载共享库时出错:libcurl.so.4:无法打开共享对象文件:没有这样的文件或目录
然后我尝试找出丢失了多少依赖项:
[root@localhost ~]# ldd nanolibcurl.so.4 => not foundlibpthread.so.0 => /lib64/libpthread.so.0 (0x0000003959e00000)libc.so.6 => /lib64/libc.so.6 (0x0000003959200000)/lib64/ld-linux-x86-64.so.2 (0x0000003958e00000)[root@localhost ~]#
然后,我再次尝试另一台电脑(redhat):
[root@localhost ~]# ldd nano/usr/bin/checkdisk: /usr/lib64/libidn.so.11: no version information available (required by /usr/lib64/libcurl.so.4)/usr/bin/checkdisk: /lib64/libc.so.6: version GLIBC_2.7 not found (required by /usr/lib64/libcurl.so.4)/usr/bin/checkdisk: /lib64/libc.so.6: version GLIBC_2.11 not found (required by /usr/lib64/libcurl.so.4)/usr/bin/checkdisk: /usr/lib64/libnss3.so: version NSS_3.12.5 not found (required by /usr/lib64/libcurl.so.4)/usr/bin/checkdisk: /lib64/libc.so.6: version GLIBC_2.12 not found (required by /lib64/libldap-2.4.so.2)/usr/bin/checkdisk: /usr/lib64/libnss3.so: version NSS_3.12.9 not found (required by /lib64/libldap-2.4.so.2)/usr/bin/checkdisk: /usr/lib64/libnss3.so: version NSS_3.12.5 not found (required by /lib64/libldap-2.4.so.2)/usr/bin/checkdisk: /lib64/libc.so.6: version GLIBC_2.7 not found (required by /usr/lib64/libcrypto.so.10)[root@localhost ~]#
那么,任何人都可以帮助我如何使它在其他 centos/redhat 上运行良好?非常感谢。
【问题讨论】:
-
你需要在远程计算机上安装
libcurl.so.4可能是由一些curl 包提供的。您可能想要打包您的应用程序(作为 CentOS 的.rpm包)。 -
非常感谢。但我只想将我的应用程序构建成一个可执行文件,而不是 rpm,就像 microsoft visual studio MD/MT 编译模式的区别一样,有什么建议吗?谢谢