Simon Pickering
2004-Apr-09 13:06 UTC
[R] Cross-compiling packages for (ARM) Zaurus ideas and tips?
Hello All, A bit of a long one (background mainly), this is really just a request for some ideas. I ported R 1.7.x for use on the Sharp Zaurus (& iPAQ, simpad, yopy, etc.) some time ago and have just ported 1.8.1 but had never quite realised that you actually need to install some packages to make the system useful (I don't use R, I did it as a favour and of course for the fun of it). I use a GCC3.x cross compiler running on an x86 Linux box to do the compilation. Packaging programs after they have been cross-compiled is a pain in general (unfortunately you can't just run 'make install') but normally it only has to be done once. However for the packages it's a different matter, especially as I don't have enough space to host compiled packages for everyone to access and in any case there'll always be one that I've missed, etc. I'm thinking about creating a small native GCC for the Z (there are already some out there, but they need to be GCC 3.x and need g77 neither of which they currently have). My biggest concern here is that it'll use quite a lot of space just to be able to create R packages occasionally. The other method is for people to use a desktop cross compiler to compile and package the resulting libraries. To this end I've been looking at the INSTALL script in the hope of modifying it so that it will compile and then create a .ipk package file (subset of debian .deb file) which is the standard for the Zaurus. I've modified the INSTALL script quite heavily - to try and remove extraneous env vars and reduce the number of external scripts which are called, and to create the directory structure in a temp directory so I can package it up. After battling with sed (steep learning curve there) I temporarily gave up this morning trying to work out why shlib.mk can't be found (despite, probably because of, my alterations). What do people think, is this the best way to go about doing this? Would I be better starting from scratch? Has anyone tried making a cross-compiler package handling script before? I actually thought that the INSTALL script would be fairly simple (having seen the output when I INSTALLed a package on my desktop box) but it doesn't seem quite so simple while I'm wading through it. My gut feeling is that it probably is quite simple to do what I want (which is only a very small subset of what the INSTALL script can do) and it's just that there's so much extra in there. I was really just after a quick (and dirty?) script to get up and running as soon as possible. I presume the INSTALL script has developed from a more simple one? If so are there any old (simple) copies lying about anywhere or has the process changed? Sorry for the rambling, Cheers, Simon -------------------------------------------- Simon Pickering MEng Research Officer Dept. of Engineering and Applied Science University of Bath Bath, BA2 7AY, UK Tel: +44 (0)1225 383314 Fax: +44 (0)1225 386928