views:

114

answers:

1

Hi,

I have some old hardware with an old version of say SuSE linux running on it. Now I have this fancy development machine running Ubuntu 9.10. Some of the tools I use to compile my C app (written in Python 2.6.x) are not available on the old SuSe box. So... is it possible to compile for that old machine on my dev box?

I have the following steps in mind, but would like to cross-check before venturing off into this quest: 1. Find out which static/shared libs my app needs and find/build target version of them 2. Also find the corresponding header files 3. Feed the correct flags to gcc to use the target headers and libraries 4. Feed the correct flags to gcc to use the correct architecture (i386/i686), or do I need a cross-compilation toolchain. 5. Compile, upload and enjoy ;-)

I regularly use avr-gcc and cc65, both are cross compiling. I know that you set up a coss compiler for developing something like a gumstix, so it should be possible to do the same for old/other Linux distros, not?

C

A: 

The way I would approach this is grab your oldmachine:/usr/lib and oldmachine:/usr/include so you have e.g. newmachine:/oldmachinecompiler/usr/{lib|include} then build a cross compiler setting --sysroot to newmachine:/oldmachinecompiler/

This is really the only way to ensure that any library requirements (including libc) in your program are compatible with oldmachine.

Nathan Kidd