[R] Cross-compiling packages for (ARM) Zaurus ideas and tips?
enpsgp at bath.ac.uk
Fri Apr 9 15:06:50 CEST 2004
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
Sorry for the rambling,
Simon Pickering MEng
Dept. of Engineering and Applied Science
University of Bath
Bath, BA2 7AY, UK
Tel: +44 (0)1225 383314
Fax: +44 (0)1225 386928
More information about the R-help