关于linux下ldd命令之后产生的一些问题

     程序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 

 程序正常运行,问题解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值