繁体   English   中英

无法执行二进制文件

[英]Unable to execute binary file

我最近听说过Breach ,这是一个基于Node.js的浏览器。 我正在按照http://codeforgeek.com/2014/08/download-install-breach-browser-ubuntu-14-04/上的说明进行安装,但出现以下错误:

违反v0.3.22-alpha.6-linux-x64 / __ AUTO_UPDATE_BUNDLE __ / exo_browser / exo_browser:无法执行二进制文件:Exec格式错误

经过一番谷歌搜索后,我发现这是因为我试图在32位Ubuntu安装上安装64位软件包。 我试图找到相同的32位软件包,但最终没有运气。 浏览器仅在64位数据包中可用(据我所知)。

所以,我的问题是:

是否可以以某种方式将其安装在32位操作系统上,或者是否有可用的程序可以在32位操作系统上运行64位应用程序。

我一直在谷歌搜索,没有发现任何帮助。 谁能帮我?

我正在使用Ubuntu 14.04(32位)。

谢谢

无法(直接)在32位系统上运行64位二进制文​​件。

可以尝试使用VMWare在32位主机上运行64位Linux。 有关详细信息,请参见此答案

另外,通过查看Breach的登录页面,我发现了这一点:

  if(arch === 'ia32') {
    $('#download').html('Available on <span class="fa fa-linux"></span> x64');
    $('#download').attr('href', '#');
    /*
    $('#download').html('<span class="fa fa-linux"></span>&nbsp;&nbsp; Download Breach Alpha v0.3 (ia32)');
    $('#download').attr('href', 'http://bit.ly/1kWWjmF');
    */
  }

这表明他们正在使用32位Linux支持。 也许在Twitter / Github上询问开发人员的状态?

我在c文件中也遇到过类似的问题。我认为这与我们使用的编译器有关。我的内核版本是

3.13.0-40泛型

您可以通过在terminal中执行命令uname -r获得该信息。

我有一个执行文件操作的代码文件。 当我使用带有适当标志的GCC并创建一个名为“ fileop”的目标文件并尝试运行它
我收到以下错误。
“ bash:./fileop:无法执行二进制文件:Exec格式错误”
我的可执行可链接文件是32bit,您可以使用命令查看
“文件fileop”
fileop:可重定位的ELF 32位LSB,英特尔80386,版本1(SYSV),未剥离

但是,当我使用“ CC”而不是GCC时,它创建了一个名为a.out的out文件,我可以执行该文件而没有任何问题。
“文件”操作产生以下输出
a.out:ELF 32位LSB可执行文件,Intel 80386版本1(SYSV),动态链接(使用共享库),用于GNU / Linux 2.6.24,BuildID [sha1] = 13b7ad302580a0c7f5c7931ec2d80155d7915fa9(未剥离)

希望以上说明能为您提供更多启发。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM