Cannot execute binary file on Ubuntu ./webupdater - linux

I have downloaded "precompiled sample for GTK2" from here http://wxcode.sourceforge.net/components/webupdate/ on Ubuntu machine.
I extracted this, and it creates a folders "simple/v1.0.0" which contains executable file "webupdater".
When I run this command on terminal s5#s5-desktop:~/ble/simple/v1.0.0$ ./webupdater
-bash: ./webupdater: cannot execute binary file
it says can not execute binary file.
configuration of Ubuntu machine is given below.
s5#s5-desktop:~$ uname -a
Linux s5-desktop 3.5.0-23-generic #35~precise1-Ubuntu SMP Fri Jan 25 17:15:33 UTC 2013 i686 i686 i386 GNU/Linux
Please help, Why this problem is coming.
Thanks and Regards
Brajesh...

Are you running a 32 or 64 bit Ubuntu ? - check tha with the command :
uname -m
EG: "x86_64" is 64 bit, and "i686" is 32 bit.
Run the file command to see what the executable is :
file /bin/ls
These threads discuss this -
http://ubuntuforums.org/showthread.php?t=1919786
https://askubuntu.com/questions/359156/how-do-you-run-a-32-bit-program-on-a-64-bit-version-of-ubuntu
I am in Ubuntu 14.10, which no longer has ia32-libs, which used to fix this.
I have yet to find a solution to running a binary that is not installed.
In my case I am going to have to look at compiling the app on my system, and I will try and feed back to the original developer...

There can be many reasons:
Check the file permissions, do chmod 777 webupdater and then try executing again,
Check the type of file by executing file webupdater and compare it with your system uname -r , ie wether both are 32-bit, 64-bit or not. the file webupdater output can give you more information.

When I executed file webupdater, it gives output given below
s5#s5-desktop:~/ble/simple/v1.0.0$ file webupdater
webupdater: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.4.0, stripped
and Ubuntu system is 32bit
thanks,
Brajesh...

Related

Raspberry Pi 3: Running arm32 programs on an arm64 system

I run my program perfectly on my Raspberry Pi 3 when I run 32bit Raspibian. It is a Linux 5.10.33-v7+ #1 armv7l system. The programs were compiled on this system, in C++. If I copy the executables to another card with that system, it works.
However, these same executables do not run when I use Debian 4.19.181-1 aarch64 Linux 4.19.0.16-arm64 (I copy the compiled file and paste it on the other system ).
When trying to run, it returns:
-bash: ./Myprogram: No such file or directory.
If I try to run with bash Myprogram, it returns:
Myprogram: cannot execute binary file
From what I've researched, this is an incompatible architectural error.
I've already tried changing permissions with chmod.
I think 32bit files should work on a 64bit system.
The "file" command returns:
ELF 32-bit LSB executable, ARM, EABI5 version 1 (GNU/Linux),
dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for
GNU/Linux 3.2.0,
BuildID[sha1]=ad484c860b63e0d8735c2b7aa5c69f2e49caaf29, with
debug_info, not stripped
Thank you so much
I understand the problem is the architecture. But why can the same processor (same raspbery) run an armv7l OS and also an arm64 OS? How does compatibility work?
Why does raspberry run both arm64 OS and armv7l OS but not programs?
it's not just a 32 or 64 bit problem .
you are two differents architectures, for your program to work you have no choice, you must recompile it for this architecture.
If you want to make portability you can use systems like "Make".

"Cannot execute binary file: Exec format error" x84-64 bit program running on aarch64 processor Debian 10

Basically I'm trying to run eclipse's 64bit linux installer on a 64 bit linux machine, but it's giving me an exec format error. All other solutions I've seen say it's usually an error with it not being the right processor speed.
My question is twofold. 1) What is going on here? 2) How do I properly download and install Eclipse?
I'm running linux through chromebook
Here is the output of a few command line statements
uname#loc:~/Desktop/eclipse-installer$ ./eclipse-inst
-bash: ./eclipse-inst: cannot execute binary file: Exec format error
uname#loc:~/Desktop/eclipse-installer$ file eclipse-inst
eclipse-inst: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=b621fbc20e80d7ac375ece11a5775fc6686b71c7, with debug_info, not stripped
uname#loc:~/Desktop/eclipse-installer$ uname -m
aarch64
To answer your first question I think this could help:
You are trying to execute a program designed to run on a "x86_64" based processor using a processor designed based on "aarch64" architecture. These are two distinct architectures although they both may be using 64-bits for addressing and so forth, but it's not the matter of the bits. They are two completely different CPU designs.
For your second question I can not help because I don't use Eclipse.

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
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.
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> 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?

Cannot execute binary file error when running bibtex2html

I'm working on a project for a friend on a machine I'm not familiar with and I've run into some errors.
I'm running a program called bibtex2html, which is used to generate an HTML reference page. When I run the program, it gives me a "Cannot execute binary file" error.
From my preliminary research, it seems there are a number of causes to this problem, and I'm not really sure to begin.
What I've done so far:
uname -a ->
Linux baseline 2.6.38-15-generic-pae #60-Ubuntu SMP Tue May 22 11:48:17 UTC 2012 i686 i686 i386 GNU/Linux
file ~/bibtex2html/bibtex2html -> ~/bibtex2html/bibtex2html: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, stripped
You did all the research correctly, now you just need to interpret it. It's a 64-bit executable (x86-64), and you're on a 32-bit kernel (i686). You'll need to find or compile a 32-bit version of bibtex2html.

Is this a problem with my distro or the application?

I hope someone can help me with this :)
I am running Arch Linux and am trying to get a game to work (Penumbra Overture). I have downloaded the executable, checked the md5 and they match, installed it in a directory. However when I try to execute the file an error appears saying:
bash: ./penumbra.bin: No such file or directory
It does exist, I am in the right folder and it is set as executable:
-rwxr-xr-x 1 kumagoro users 6814000 Apr 15 2010 penumbra.bin
file penumbra.bin says:
penumbra.bin: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.2.5, stripped
ldd penumbra.bin says:
not a dynamic executable
So, is this a problem with my distro or the application?
Thanks
You are missing the interpreter for the binary. Check with
readelf -a penumbra.bin | grep -i program.interp
what it wants.

Resources