ubuntu下解决 ×.so.×: wrong ELF class: ELFCLASS64 的问题

原文链接http://blog.csdn.net/mifangdebaise/article/details/44942395

 安装软件时出现问题   ×.so.×:wrong ELF class: ELFCLASS64 ,大致的意思是软件是32位的,需要32位的 ×.so.×动态链接库,而系统是64位的所提供的该 动态链接库×.so.×是64位的,所以不能用。

     这个问题真是郁闷了我一天,网上也是各种找解决方案,却因为网上每个人安装的软件不同,所以各种说明,可能因为我自己太水了,对linux也是一知半解,网上的解决方案不是看不懂就是不管用,最后我都想换成32位系统了,转念一想为了一个软件换系统台不划算,干脆自己再搞搞,结果还真弄出来了,不说废话了。。。

     首先可以查看自己的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位的呗,可是,要注意的是在http://packages.ubuntu.com/trusty/devel/网站上下到的32位deb包是不能安装成功的,总是会提示什么32位不能安装在64位系统之类的,所以要下载rpm包,地址:http://rpm.pbone.net/

      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.×都是这么弄的,虽然比较笨总算还是能运行了。


你可能感兴趣的:(FPGA)