centos中64位系统运行32位程序出现的问题

11 篇文章 1 订阅

在Linux的CentOS7系统中遇见过的问题

CentOS之——/lib/ld-linux.so.2: bad ELF interpreter解决

问题:在gdb调试中出现

(gdb) run
Starting program: /home/zoey/桌面/tt
/bin/bash: /home/zoey/桌面/tt: /lib/ld-linux.so.2: bad ELF interpreter: 没有那个文件或目录
/bin/bash: /home/zoey/桌面/tt: 成功
During startup program exited with code 126.

该可执行文件为32位系统编译出来的

还有一个问题就是文件权限问题,从外部导入文件,在centos7中可能读取权限默认只读,需要改为读取.

原因:64位系统中运行了32位程序(64位系统并没有兼容32位程序)

解决办法:

  • 需要安装软件来兼容运行32位程序
  • [CentOS]安装软件:/lib/ld-linux.so.2: bad ELF interpreter解决
    环境:
yum install glibc.i686

显示内容

[zoey@zoeycentos7 桌面]$ su
密码:
[root@zoeycentos7 桌面]# yum install glibc.i686
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile

  • base: mirrors.aliyun.com
  • extras: mirrors.163.com
  • updates: mirrors.aliyun.com
    正在解决依赖关系
    –> 正在检查事务
    —> 软件包 glibc.i686.0.2.17-317.el7 将被 安装
    –> 正在处理依赖关系 libfreebl3.so(NSSRAWHASH_3.12.3),它被软件包 glibc-2.17-317.el7.i686 需要
    –> 正在处理依赖关系 libfreebl3.so,它被软件包 glibc-2.17-317.el7.i686 需要
    –> 正在检查事务
    —> 软件包 nss-softokn-freebl.i686.0.3.53.1-6.el7_9 将被 安装
    –> 解决依赖关系完成

依赖关系解决

================================================================================
Package 架构 版本 源 大小

正在安装:
glibc i686 2.17-317.el7 base 4.3 M
为依赖而安装:
nss-softokn-freebl i686 3.53.1-6.el7_9 updates 322 k

事务概要

安装 1 软件包 (+1 依赖软件包)

总下载量:4.6 M
安装大小:15 M
Is this ok [y/d/N]: y
Downloading packages:
警告:/var/cache/yum/x86_64/7/updates/packages/nss-softokn-freebl-3.53.1-6.el7_9.i686.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
nss-softokn-freebl-3.53.1-6.el7_9.i686.rpm 的公钥尚未安装
(1/2): nss-softokn-freebl-3.53.1-6.el7_9.i686.rpm | 322 kB 00:00
glibc-2.17-317.el7.i686.rpm 的公钥尚未安装 ] 2.1 MB/s | 2.9 MB 00:00 ETA
(2/2): glibc-2.17-317.el7.i686.rpm | 4.3 MB 00:01

总计 3.8 MB/s | 4.6 MB 00:01
从 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 检索密钥
导入 GPG key 0xF4A80EB5:
用户ID : “CentOS-7 Key (CentOS 7 Official Signing Key) security@centos.org
指纹 : 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
软件包 : centos-release-7-9.2009.0.el7.centos.x86_64 (@base)
来自 : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
是否继续?[y/N]:y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : nss-softokn-freebl-3.53.1-6.el7_9.i686 1/2
正在安装 : glibc-2.17-317.el7.i686 2/2
验证中 : glibc-2.17-317.el7.i686 1/2
验证中 : nss-softokn-freebl-3.53.1-6.el7_9.i686 2/2

已安装:
glibc.i686 0:2.17-317.el7

作为依赖被安装:
nss-softokn-freebl.i686 0:3.53.1-6.el7_9

完毕!

装完成后就可以运行了

Breakpoint 2 at 0x804849c
(gdb) run
Starting program: /home/zoey/桌面/tt
h

Breakpoint 1, 0x08048490 in ph1 ()
Missing separate debuginfos, use: debuginfo-install glibc-2.17-317.el7.i686
(gdb) stepi
0x08048495 in ph1 ()

问题得到解决

  • 若重新安装以后还有如下类系错误 再继续安装包
yum install libstdc++.so.6
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值