Cannot execute binary file

Hi all,

Probably somewhat of an obvous problem here but i'm no pro.

I just bought a PengPod1000 at pengpod.com
On it I have an image of Fedora 18.

I am trying to run an application I wrote for Fedora 14 32 bit desktop on this tablet. With all permissions setup using chmod but I get "cannot execute binary file".

On the PengPod "uname -a" returns:
Linux localhost.localdomain 3.0.57+ #5 PREEMPT Mon May 13 09:10:40 CEST 2013 armv71 armv71 GNU/Linux

On my development computer "uname -a" returns:
Linux sensorbox2 2.6.35.6-45.fc14.i686 #1 SMP Mon Oct 18 23:56:17 UTC 2010 i686 i686 i386 GNU/Linux

On both systems "file myapp" returns:
myapp: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[shal]=0xeda499c66fce7811472888d5004ec6d45f56712f, not stripped

Other than the two kernels being different versions here the main difference is that the PengPod using the ARM architecture which I am very unfamiliar with.

Any ideas?

Thanks in advance!

---------- Post updated at 02:53 PM ---------- Previous update was at 02:52 PM ----------

the fedora image is at:

barrydegraaff.tk/2013/05/pengpod1000-fedora-18-xfce-armhf.html

Thanks in advance!

On the PengPod "uname -a" returns:
Linux localhost.localdomain 3.0.57+ #5 PREEMPT Mon May 13 09:10:40 CEST 2013 armv71 armv71 GNU/Linux

On my development computer "uname -a" returns:
Linux sensorbox2 2.6.35.6-45.fc14.i686 #1 SMP Mon Oct 18 23:56:17 UTC 2010 i686 i686 i386 GNU/Linux

You cannot run x86 code on an ARM system, they are totally different. It will have to be recompiled for ARM.

Thanks Corona for the quick reply.
Makes sense.

Is there a typical way to do this?
Or any known sources of information on your end?

At the moment I don't use any development software. Just sublime text and a terminal window.

Thanks

Two ways, either install a cross-compiler on the x86 system(probably one made specifically for pengpod) or a native compiler on the ARM machine. I tend to find it more straightforward to do the latter, on any system complete enough to support one.

Presumably you also use a compiler of some sort, to turn this text into x86 executables.

Ya well i'm using GNU's GCC compiler.

If you installed gcc on your pengpod and compiled the program on it, the result would be a native ARM program.

Cross-compiling is much harder. You have to get everything exactly right or it won't work. Sometimes you're lucky enough to find someone who's released a cross-compiler specific for your device and version.

Ya I found a compiler version from CodeBench for ARM.
Ill see what happens.

Why not gcc?