On Wed 21 Nov, TheMaverickMind wrote:
> We desprately need help:
> 
> We are working on an application to distribute MP4 video on the Compaq  
> iPAQ. We want to install the mp4player [available on 
> mpeg4ip.sourceforge.net] on the iPAQ which is running arm-linux. We 
> decided to cross-compile the application from our Debian Potato hosts 
> [kernel version 2.2.17 and kernel version 2.2.19Pre17 both available].
> 
> We have set up the toolchain available from Debian including the glibc, 
> gcc, and binutils. 

Which toolchain exactly? personally I favour the emdebian (x86->arm)
toolchain (http://www.emdebian.org/ ) which is apt-gettable and reliable. See
http://www.aleph1.co.uk/armlinux/book/x1768.html for details of this. I
assume your host is an x86 machine?

> we have also downloaded the kernel headers and  libraries. but we are
> unable to compile mp4player for arm-linux. 

You understand that you need the kernel headers and libraries that match the
_arm_ environment you are compiling for, not the host machine? ie you need
2.4.whatever kernel headers, not the 2.2.x that matches your (x86?) potato
box.

The debian tool dpkg-cross is useful for stripping the libraries and headers
out of a binary-arm package to make a package with just those in which can be
installed and deinstalled in the usual way. This lets you control the
available headers and libs using the package-management system, which is
handy if you do much of it.

> What  options are to be used while running the configure and make commands?

./configure arm-linux is usually sufficient, if configure complains of unkown
targets try:   ./configure arm-unknown-linux-gnu

The detailed options to get it to do what you want are:
--build specifies the machine you want to build on
--host specifies the machine you want the compiled program to run on
--target (only for compilers and the like) controls the machine that the
newly-built compiler will compile for for.

The autoconf docs explain this in more detail in the 'Manual configuration'
section.
 
> in general, for applications that use autoconf and automake to configure 
> the makefiles, how do we cross compile to arm-linux?

Well, first you try the above options, but in many cases (where the configure
stuff was not written with cross-compiling in mind), you will need to modify
the makefiles to get it to do the right thing, eg to specify the directory
where it will find your arm header files and libraries.
 
> Help is reqd urgently can anyone please guide us?  Is any further 
> information required?

Well, I was going to download this and try it myself to see what went wrong
but it's 7MB and hasn't finished yet, so see if the above helps...

Wookey
-- 
Aleph One Ltd, Bottisham, CAMBRIDGE, CB5 9BA, UK  Tel +44 (0) 1223 811679
work: http://www.aleph1.co.uk/     play: http://www.chaos.org.uk/~wookey/


_______________________________________________
http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm
Please visit the above address for information on this list.

Reply via email to