简体   繁体   中英

Unable to execute binary file

I recently heard about Breach , a Node.js based browser. I was following the instructions on http://codeforgeek.com/2014/08/download-install-breach-browser-ubuntu-14-04/ to install it but got the following error :

breach-v0.3.22-alpha.6-linux-x64/__AUTO_UPDATE_BUNDLE__/exo_browser/exo_browser: cannot execute binary file: Exec format error

After some googling, I found that it is because I am trying to install the 64 bit package on the 32 bit Ubuntu installation. I tried to find 32 bit package of the same but ended up with no luck. The browser is only available in 64 bit packet(as far as i know).

So, My question is :

Is it possible to somehow install it on the 32 bit OS or if any program available which can run 64 bit applications on the 32 bit OS.

I have been googling around and found no help. Can anyone help me?

I am using Ubuntu 14.04 (32 Bit).

Thank You

It is not possible to (directly) run 64 bit binaries on the 32 bit system.

You could try to use VMWare to run 64 bit Linux on the 32 bit host. See this answer for details.

Also, by inspecting Breach's landing page, I found this:

  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');
    */
  }

This indicates that they are working on the 32 bit Linux support. Maybe ask developers on Twitter/Github on status of that?

I have faced similar problem with c files .I think it has some thing to do with the compiler which we use My kernel version is

3.13.0-40-generic

which you get by executing the command uname -r in terminal .

I had a code file which does file operations. When I used GCC with appropriate flags and created an object file called "fileop" and tried running it
I got the following error .
"bash: ./fileop: cannot execute binary file: Exec format error"
My executable linkable file was 32bit which you can see by using command
"file fileop"
fileop: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped

But when I used "CC" instead of GCC, It created a out file called a.out and I was able to execute it without any issues.
The "file" operation yielded the following ouput
a.out: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1] =13b7ad302580a0c7f5c7931ec2d80155d7915fa9, not stripped

Hope the above Description sheds more light in to the issue.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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