my blog my blog

Tag: glibc
关于64位linux系统无法执行32位程序的解决方法

 

前阵子就是因为32位lib的关系没有正常执行永中office安装,当然,我的问题不是缺少32位库,而是64位的库也有问题,呃,这个今天不讨论了,今天就说说最基本的解决方案。

当你执行一个32位程序的时候,你可能会发现提示No such file or directory,这就是说明你的64位系统没有安装32位的lib库,如何知道一个程序是32位还是64位呢,也很简单,可以通过readelf来看。呃,如果你确定你执行的是32位程序,而你是64位系统,则出现No such file or directory错误就是因为你缺少了32位的库文件。解决方法也很简单:

对于Arch Linux用户:

添加下面几行到 /etc/pacman.conf 启用该软件仓库:

  1. [multilib] 
  2. Include = /etc/pacman.d/mirrorlist 

然后执行:

  1. sudo pacman -Syy 
  2. sudo pacman -S lib32-glibc 

对于Ubuntu用户:

  1. sudo apt-get install ia32-libs 

对于fedora用户:

  1. sudo yum install glibc.i686 

一般的程序就可以运行了,当然也可能还需要一些其它的32位库,可根据实际情况来解决。

Arch Linux的/lib目录改为指向/usr/lib的软链接

 

最近更新Arch Linux的朋友请注意,glibc包要单独更新哦,如果用–force更新会出问题。

所有 Arch 软件包都已将 /lib 目录中的文件移入 /usr/lib ,现在要把 /lib 更改为指向 usr/lib 的链接。此次升级时,pacman 很有可能检测到 /lib 文件冲突。最简单的解决方案是:

  1. pacman -Syu --ignore glibc 
  2. pacman -Su