关于linux下ldd命令之后产生的一些问题
2013-03-14 14:07
337 查看
程序NetAgent在AS4_64位机器上编译,放到精简的linux 系统下,无法运行。执行NetAgent就报:./NetAgent: error while loading shared libraries: libcrypto.so.6: wrong ELF class: ELFCLASS32错误。然后ldd NetAgent命令出来一些依赖关系其中
libcrypto.so.6=>not found
后经上网分析,是NetAgent程序运行需要libcrypto.so.6这个共享库,但是在系统中执行whereis libcrypto.so.6 在/usr/lib目录下有这个文件,错误中又有ELFCLASS32这个,我怀疑系统中libcrypto.so.6是不是32的 ,后执行命令
[@root] od -h -N 10 libcrypto.so.6
0000000 457f 464c 0101 0001 0000
0000012
红色部分是0102就是64位 0101是32位
说明本系统中的libcrypto.so.6 文件是32的,故无法运行
后登陆到编译机器上 [@root] ldd NetAgent
libpthread.so.0 => /lib64/tls/libpthread.so.0 (0x00000036ca600000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000002a9557f000)
libcrypto.so.4 => /lib64/libcrypto.so.4 (0x00000036cef00000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00000036ce300000)
libm.so.6 => /lib64/tls/libm.so.6 (0x00000036c9c00000)
libc.so.6 => /lib64/tls/libc.so.6 (0x00000036c9900000)
/lib64/ld-linux-x86-64.so.2 (0x00000036c9700000)
libgssapi_krb5.so.2 => /usr/lib64/libgssapi_krb5.so.2 (0x00000036ceb00000)
libkrb5.so.3 => /usr/lib64/libkrb5.so.3 (0x00000036ce700000)
libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00000036ce500000)
libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3 (0x00000036ce900000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00000036cc400000)
libdl.so.2 => /lib64/libdl.so.2 (0x00000036c9e00000)
libz.so.1 => /usr/lib64/libz.so.1 (0x00000036ca400000)
没有需要的libcrypto.so.6这个文件,是不是就是libcrypto.so.4 => /lib64/libcrypto.so.4 (0x00000036cef00000)这个文件,然后把这个libcrypto.so.4拷贝到
精简系统中改名libcrypto.so.6 再执行
[@roo] NetAgent
程序正常运行,问题解决。
libcrypto.so.6=>not found
后经上网分析,是NetAgent程序运行需要libcrypto.so.6这个共享库,但是在系统中执行whereis libcrypto.so.6 在/usr/lib目录下有这个文件,错误中又有ELFCLASS32这个,我怀疑系统中libcrypto.so.6是不是32的 ,后执行命令
[@root] od -h -N 10 libcrypto.so.6
0000000 457f 464c 0101 0001 0000
0000012
红色部分是0102就是64位 0101是32位
说明本系统中的libcrypto.so.6 文件是32的,故无法运行
后登陆到编译机器上 [@root] ldd NetAgent
libpthread.so.0 => /lib64/tls/libpthread.so.0 (0x00000036ca600000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000002a9557f000)
libcrypto.so.4 => /lib64/libcrypto.so.4 (0x00000036cef00000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00000036ce300000)
libm.so.6 => /lib64/tls/libm.so.6 (0x00000036c9c00000)
libc.so.6 => /lib64/tls/libc.so.6 (0x00000036c9900000)
/lib64/ld-linux-x86-64.so.2 (0x00000036c9700000)
libgssapi_krb5.so.2 => /usr/lib64/libgssapi_krb5.so.2 (0x00000036ceb00000)
libkrb5.so.3 => /usr/lib64/libkrb5.so.3 (0x00000036ce700000)
libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00000036ce500000)
libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3 (0x00000036ce900000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00000036cc400000)
libdl.so.2 => /lib64/libdl.so.2 (0x00000036c9e00000)
libz.so.1 => /usr/lib64/libz.so.1 (0x00000036ca400000)
没有需要的libcrypto.so.6这个文件,是不是就是libcrypto.so.4 => /lib64/libcrypto.so.4 (0x00000036cef00000)这个文件,然后把这个libcrypto.so.4拷贝到
精简系统中改名libcrypto.so.6 再执行
[@roo] NetAgent
程序正常运行,问题解决。
相关文章推荐
- linux的一些基本命令(关于文件操作, 进程操作,以及/boot问题)
- 关于linux中shell的一些小问题解决办法
- 关于虚拟机下linux到一些问题到解决方案
- linux关于tomcat的一些命令笔记
- 关于安装linux redhat后无法使用yum命令安装gcc-c++问题的解决过程
- windows和Linux之间socket传输结构体关于字节对齐产生的问题
- 关于linux中建立ftp服务的一些问题
- 关于Linux的一些问题
- Linux下core文件产生的一些注意问题
- 关于在linux下用java程序执行linux命令的权限问题
- linux使用yum命令产生的进程锁问题
- linux 的一些关于操作目录的命令
- linux使用yum命令产生的进程锁问题
- Linux常用命令及在关于Tomcat的部署问题
- linux下,一些关于动态库的问题:
- linux使用yum命令产生的进程锁问题
- 关于linux交换分区swap的一些问题
- 关于linux下scp命令缓存引发的问题
- 一些关于linux 下的jni下问题
- 最近关于linux的一些小问题。