我有这个程序'prog',我可以在我的服务器上运行没问题。当我试图在我自己的机器(64位Ubuntu)上运行它时,我收到消息:
bash: ./prog: cannot execute binary file
我已确保所涉及的所有文件的所有权限都设置为777,以确保它不是权限问题。我认为服务器是32位,这可能是原因。但是,64位操作系统不应该能够运行32位程序,因为它只是架构的一个子集吗?如果没有,是否有一些我可以为Ubuntu下载的模拟器,这将允许我运行32位程序,如果这确实是问题?
我理解'无法执行二进制文件'错误有点包含,所以上面只是我猜测为什么我收到消息,但也许其他人有另一种理论?
再次感谢所有人。
答案 0 :(得分:2)
您需要64位计算机上prog
使用的32位(共享)库。否则prog
无法执行。
尝试使用
安装它们apt-get install ia32-libs
(如果prog
需要更多的库,也要安装他们的32位版本)
这应该可以解决问题。
注意如果您拥有prog
的源代码,那么在64位计算机上重新编译prog
可能会更方便(更少安装32位库)