在不同的Linux发行版上运行程序

时间:2012-08-01 14:23:47

标签: linux 32bit-64bit binaryfiles

我有这个程序'prog',我可以在我的服务器上运行没问题。当我试图在我自己的机器(64位Ubuntu)上运行它时,我收到消息:

 bash: ./prog: cannot execute binary file

我已确保所涉及的所有文件的所有权限都设置为777,以确保它不是权限问题。我认为服务器是32位,这可能是原因。但是,64位操作系统不应该能够运行32位程序,因为它只是架构的一个子集吗?如果没有,是否有一些我可以为Ubuntu下载的模拟器,这将允许我运行32位程序,如果这确实是问题?

我理解'无法执行二进制文件'错误有点包含,所以上面只是我猜测为什么我收到消息,但也许其他人有另一种理论?

再次感谢所有人。

1 个答案:

答案 0 :(得分:2)

您需要64位计算机上prog使用的32位(共享)库。否则prog无法执行。

尝试使用

安装它们
apt-get install ia32-libs

(如果prog需要更多的库,也要安装他们的32位版本)

这应该可以解决问题。

注意如果您拥有prog的源代码,那么在64位计算机上重新编译prog可能会更方便(更少安装32位库)