64位linux 兼容32位程序,ubuntu16.04(64位)兼容32位程序

现象

在64位机上执行某些程序时提示:

bash: ./mkbootimg: No such file or directory

./arm-linux-gnueabi-gcc: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

注意:以上两个错误提示例子中mkbootimg和arm-linux-gnueabi-gcc在执行的当目录中一定存在且没有被破坏。

查看mkbootimg和arm-linux-gnueabi-gcc信息,如下图所示:

由此可知,mkbootimg和arm-linux-gnueabi-gcc都是32位程序,在64位机上无法运行。

解决办法

在ubuntu 12.04及之前的版本,如果需要在64位机上运行32位程序,可以直接安装ia32-libs,其命令如下:

sudo apt-get install ia32-libs

但是在ubuntu 12.04之后的版本不能直接安装ia32-libs,已经没有该软件包,需要手动安转兼容包。

兼容32位程序

在ubuntu 64位机上只是兼容32位程序,使其可以运行,需要安装的软件包有:libc6:i386、libstdc++6:i386,安装以上两个包之后32位程序就可以在64位机上运行,其安装指令为:

sudo apt install libc6:i386

sudo apt install libstdc++6:i386

安装完后再次执行arm-linux-gnueabi-gcc,结果如下:

由此可知,已经能够执行32位程序了,兼容包安装完成。

开发32位程序

开发32位程序没有测试过,可能需要其他软件包,但是开发32位程序建议直接使用32位机。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值