Native Compiler Toolchain on OpenZaurus
These are some tips and tricks on how to setup a native compiler toolchain right on your Zaurus (SL-5500) running the OpenZaurus distribution. I found it to be a painful process and will try to ease the pain for you a bit. All this applies to OpenZaurus 3.5.3., the situation might be better with 3.5.4.
Some packages are available via the OpenZaurus feed for your platform and the quickest way to add the missing ones is to use the Debian ARM stable repository. You can install any debs like you would do with ipkgs, however some postinstall scripts might fail: Ignore or remove them.
- My host system is Debian Etch x86.
- I used the “free-trial” VirtualMhz emulator for this which is a very nice but proprietarian product by the way. You will need to provide them with an e-mail address and you’ll need libwx_gtk-2.4.so.0 which you’ll need to compiler yourself if not running Sarge and place in e.g. /usr/local/lib
- I recommend a really big CompactFlash card or NFS mount to hold all the data, let’s call it’s mount point /media/nfs.
- I recommend you move all the /var /tmp and /usr/lib/ipkg to /media/nfs and setup the correct symlinks.
- Packages found in the Debian ARM distribution: perl-base, linux-kernel-headers, and m4.
- Packages found in the OpenZaurus feed: g++, cpp, gcc, binutils, libc6-dev, libstd++-dev, and libstdc++6, so: ipkg install g++ cpp gcc binutils libc6-dev libstd++-dev libstdc++6.
- all the “gcc”, “ld” etc. binaries have names like “arm-linux-gcc” so you need to set some symbolic links so e.g. “gcc” can be found.
- Add /media/nfs/usr/bin to your $PATH.
- Add /media/nfs/usr/lib to /etc/ld.so.conf and call ldconfig afterwards.
- /usr/lib/libc.sois broken, comment out line 4 (the one with “BUG” in it), seriously.
- libstdc++.la is broken as well, move it out of the way.
- You might have to add some symlinks to some libs which I cannot remember, so do so when the compiler complaints.
- ar as provided by BusyBox might not work as expected by some ./configure scripts so make sure to correct the symlink to the ar implementation provided by binutils.
- I surly missed something important and your system will break, good luck!

