problem executing simple app on ppc target running linux

Vijay Padiyar vijay_padiyar at
Sat Jan 29 00:58:13 EST 2005


I have a doubt regarding execution of applications on Linux.

I am developing applications to execute on an MPC8260 (PowerPC) target. I
started off by building a toolchain for the target (using Kegel's

The compiler created for my target bears the name

Then I built the Linux 2.6.10 kernel with this cross-compiler and got the
executable image. I downloaded this image on the target and executed it
successfully. I have now obtained the Linux command prompt.

I am using U-Boot 1.1.1 as the bootloader and am loading the JFFS2 partition
on my Flash directly as the root drive, using the boot argument

The directory structure on my JFFS2 partition is as follows:

/bin (with Busybox)
/home (for my programs)
/lib (currently empty)
/proc (empty)
/usr - bin, sbin

Now, I built a simple "Hello, World!" application with my cross-compiler
with the following command:

$ powerpc-603e-linux-gnu-gcc -o hello hello.c

When I try to execute the resulting file on my target from the Linux kernel
prompt, I get a message saying:

/home # ./hello
/bin/sh: hello: No such file or directory

When I compile the above file with my native gcc and execute on the target,
I get a message saying:

/home # ./hello
/bin/sh: hello: Line 1: Unexpected '(' in file (or something to that effect)

I know I can't execute apps built with gcc on the target. But why does it
not work even when built with the cross-compiler?

Another thing is, how do I compile applications with shared libraries? And
how do I know which specific shared library files I need to put in the /lib
and /usr/lib folders on my target JFFS2 partition for the program to execute

Please give me some guidance. I'm a bit new to Linux.


Vijay Padiyar

More information about the Linuxppc-embedded mailing list