无法在64位Linux上运行32位应用程序。

12

我安装了一个非常简化的Ubuntu 8.04 64位版本。

当我尝试运行一些32位程序,例如我的jhead程序时,会出现没有这个文件或目录的错误信息。

我想这可能是一个库的问题,但是当我执行以下命令时:

ldd jhead

我只收到了一个消息不是动态应用程序,而不是它所需的库列表。我使用的另一个旧的32位应用程序也是如此。

因此,似乎没有安装运行32位应用程序所需的一些非常重要的组件。但是,我该如何确定这些组件是什么?


您需要安装32位用户空间支持。即,32位版本的ld.so,但为了保持此问题的开放性,您需要更多的编程细节。 - Kent Fredric
2个回答

14

您需要安装32位库包

ia32-libs - 供amd64和ia64系统使用的ia32共享库

前往并执行

sudo aptitude install ia32-libs

经过使用了大量的谷歌计算机资源后,我终于找到了相同的东西。而且,这个命令之后,ldd也神奇地开始工作了。 - Matthias Wandel
在最新的Ubuntu中,安装lib32z1apt install lib32z1)。 - kenorb

0

执行 ldd ./ 可以帮助查看哪些库依赖已经成功解决。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接