首页 > 代码库 > ubuntu 12.04 64位设置兼容32位的实现

ubuntu 12.04 64位设置兼容32位的实现

在ubuntu12.04上,要运行32的程序,需要安装32位的兼容库。

 

以前在10.04上成功安装过,方法是

sudo apt-get install ia32-libs

但是在12.04上遇到了困难,遇到下面这种错误

$ sudo apt-get install ia32-libs
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是
因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
包尚未被创建或是它们已被从新到(Incoming)目录移出。
下列信息可能会对解决问题有所帮助:


下列软件包有未满足的依赖关系:
 ia32-libs : 依赖: ia32-libs-multiarch
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系

网上也没有找到合适的方法。

最后还是用google(还是比baidu强啊),虽然没有找到该库的安装方法,但是找到了解决方法:即自己安装需要的32位库

$ sudo apt-get install libc6:i386 libgcc1:i386 gcc-4.6-base:i386 libstdc++5:i386 libstdc++6:i386

 

我本意是运行adb的。运行adb时,发现缺乏libncurses5库,自己动手,丰衣足食,比葫芦画瓢,

sudo apt-get install libncurses5:i386

在64位下,gcc默认编译代码位64位的,但是,如果你想编译位的,可以用gcc -m32选项,来设置。

不过,不幸的是,会出现错误,说找不到 /usr/include/features.h文件什么的。google一下,发现用这种方法:

sudo apt-get install g++-multilib

就可以了。

OK,这样总算都跑起来了!

ubuntu 12.04 64位设置兼容32位的实现