在64位的系统中安装32位的库

具体来说就是在64-bit的fedora23上安装 32-bit的ncurses-lib.我装fedora23是64位的,本来想用arm-linux-gdb 来调试,但是运行的时候提示找不到libncurses.so.5,然后我就去系统根目录下找,终于在/lib64这里找到了,但是这个库不可以用,因为他是64-bit的,而arm-linux-gdb 是32位的,所以用ldd arm-linux-gdb查看时也是显示没有找到

[zz@zzfedora23 ~]$ ldd /usr/local/arm/4.3.3/bin/arm-linux-gdb
        linux-gate.so.1 (0xf779b000)
        libncurses.so.5 => not found
        libm.so.6 => /lib/libm.so.6 (0xf7701000)
        libc.so.6 => /lib/libc.so.6 (0xf7534000)
        libdl.so.2 => /lib/libdl.so.2 (0xf752f000)
        libtinfo.so.5 => /lib/libtinfo.so.5 (0xf750b000)
        /lib/ld-linux.so.2 (0x5657b000)
[zz@zzfedora23 ~]$ file /lib64/libncurses.so.5.9 
/lib64/libncurses.so.5.9: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=a728642f544c910741b75a0b1039f4cb8aa50e64, stripped
[zz@zzfedora23 ~]$

于是问题就变为如何在64位系统上安装32位的库了,在网上查了一下,其实很简单,就是指定32位的库名就行了

sudo dnf install ncurses-libs.i686 即后缀为.i686

安装之后就可以运行了,并且libncurses.so.5也安装到了/lib目录中,显然/lib 和 /lib64是分别用来存放32-bit和64-bit的两个目录.

[zz@zzfedora23 ~]$ ldd /usr/local/arm/4.3.3/bin/arm-linux-gdb
        linux-gate.so.1 (0xf779b000)
        libncurses.so.5 => /lib/libncurses.so.5 (0xf7750000)
        libm.so.6 => /lib/libm.so.6 (0xf7701000)
        libc.so.6 => /lib/libc.so.6 (0xf7534000)
        libdl.so.2 => /lib/libdl.so.2 (0xf752f000)
        libtinfo.so.5 => /lib/libtinfo.so.5 (0xf750b000)
        /lib/ld-linux.so.2 (0x5657b000)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值