分享

ubuntu 12.04及12.10无法安装 ia32-libs

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

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

这种情况在11.10以下(包括11.10)中都没有出现。
在搭建android 开发环境的时候 ,通常都会出现无法创建adv的情况,这种情况的原因是因为ubuntu是64位的,没有安装32的依赖库,而我们的解决方法,通常也是 sudo apt-get install ia32-libs,这个方法在11.10以下是可以的,但是12.04上面就会出现上面的情况无法安装,下面是我找到的方法:
1:apt-get install gnupg flex bison gperf zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline-gplv2-dev lib32z1-dev libgl1-mesa-dev g++-multilib
(经过验证发现方法一并没有用)

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

最后还是用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(就这一句有用的)


这么纠结过后,终于能创建模拟器了,但是又有新的问题

SDL init failure, reason is: No available video device

各方查找发现:

方法1:sudo apt-get install ia32-libs lib32stdc++6

结果出现:


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

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


问题有返回前面了ubuntu <wbr>12.04及12.10无法安装 <wbr>ia32-libs



之后我又采取这个方法命令:

sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 libz1:i386 libsdl1.2debian:i386

结果出现:

正在读取软件包列表... 完成
正在分析软件包的依赖关系树      
正在读取状态信息... 完成      
E: 无法定位软件包 libc6
E: 无法定位软件包 libncurses5
E: 无法定位软件包 libstdc++6
E: 无法按照正则表达式 libstdc++6 找到任何软件包
E: 无法定位软件包 libz1
E: 无法定位软件包 libsdl1.2debian
E: 无法按照正则表达式 libsdl1.2debian 找到任何软件包


估计是之前更新不上,下面进行:

sudo apt-get update

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多