安装软件时出现问题 ×.so.×:wrong ELF class: ELFCLASS64,大致的意思是软件是32位的,需要32位的 ×.so.× 动态链接库,而系统是64位的所提供的该 动态链接库 ×.so.× 是64位的,所以不能用。
这个问题网上也是各种找解决方案,却因为网上每个人安装的软件不同,所以解决方法也不同,这里给出自己的一种解决方式:
首先可以查看自己的64位系统是否开启了32位支持功能,可以参考 http://linux.cn/article-2935-1.html
1. 在终端输入 dpkg --print-architecture
你将会看到像下面这样的内容:
amd64
这说明着你已经拥有了64位架构内核。
2. 输入 dpkg --print-foreign-architectures
输出是:
i386
说明已经打开多架构支持了,如果还没打开可以按下面操作
3. sudo dpkg --add-architecture i386
sudo apt -get update
然后就会开始下载更新然后运行。
之后你需要输入:
sudo apt-get dist-upgrade
它会检查你已经拥有的库文件是否有更新的版本。
若果然有的话,它会问你是否需要更新(y/n)。
如此这般,你就已经成功地为你的64位系统安装了32位支持了。
既然软件需要32位的库,并且64位系统已经安装了32位支持了,那就安装32位的呗,可是,要注意的是在Ubuntu – Error网站上下到的32位deb包是不能安装成功的,总是会提示什么32位不能安装在64位系统之类的,所以要下载rpm包,地址:RPM Search
1. 在上面的网站中搜索自己需要的×.so.×,然后选择i386的rpm包下载,注意要下载i386的
2. 下载好后,不要转换成deb包,因为用alien命令是转换不成功的,直接双击rpm包,提取里面的文件夹
3. 在提取出的文件夹中搜索自己需要的×.so.×,你需要的×.so.×可能是某个源文件xx的‘快捷方式’,把源文件xx复制到你自己的某个目录下
4. 然后用命令 ln -s 某个目录/xx /urs/lib/×.so.×,创建该源文件xx的‘快捷方式’到/usr/lib/目录下
我就是用这笨办法搞定的,十几个×.so.×都是这么弄的,虽然比较笨总算还是能运行了。