This one's a tuffie.

It took me over 2 days to get somewhere close to what I wanted. Specifically: to write C code with which I'm very familiar, and automagically have it installed on the palm.

A the end of these steps, you will own an RDT: Rapid Development Tool, that will get the code you write, loaded onto your palmtop

Be warned now. Every single piece of install documentation on the relevant sites is WRONG, out of date, incomplete, or erroneous. *Most* of the ~/README's are equally irrelevant as they focus on Windoze/Mac/Unix, not Linux.

There are endless pits I fell into. Hopefully these steps will prevent them for you. The result is a worthwile, effortless RDT. Enjoy

First off, the there is a need to give an overview of what is required.

One. All you want to do, is write C code like you've always done, and load it on a palm.

To achieve that end, you need:

The above are the broad strokes to keep you focused. There are additional 'packages' required within the above list which would only serve to confuse and are fully covered in each section.

Abbreviations, Shortand and warnings

'download' means, whatever it takes, to ftp or otherwise the file in question. It may be a simple web browse, it might involve accepting a 'licence agreement'. Whatever the means, it is not necessary to hold you hand to that extent.

'unpack' means

tar -zxvf <whatever_file.gz>

The standard behaviour after (un)tarring a gz file is that a folder is created of similar name in the same directory as the gz file. Thus

tar -zxvf fred.gz probably results in a folder called ~/fred-1.0.1

Again, it is expected you can follow along and 'discover' what folder is what. (The actual name depends on the revlevel of the gz file you got. Again, you don't require handholding further than that.

'~' (tilde)

This is a shorthand reference to the resulting unpacked folder. The ~ means your, not my, path to the unpacked source. Do not think of this tilde in any other context.

Being mindful of above, be organised when downloading the many files listed as required in the steps. You will be doing a fair bit of compiling, and confusion hits early. On my system, I created the following

/usr/src/palm/emulator # things emulator, skins, fltk widgets
/usr/src/palm/sdk        # plus documentation
/usr/src/palm/prctools  # plus example programes
/usr/src/palm/pilrc       # etc etc

I downloaded the source tarballs into the appropriate 'folders', and, after unpacking, had further nests within each folder. I am not dictating what you do, I am suggesting you think about structure and organisation. You are a programmer aren't you?


Any step, and any Howto ever written, can never hope to be exact in it's definition of THE source file. It is exact at the time of writing. A week in Linux is eternity.

The accepted wisdom is to simply get the latest 'n greatest, based on a starting point of fred-1.01. Ie if fred-1.0.99 exists, use it.


There are some explicit steps that must have THE version specified. Wherever this is the case, the step in question details it. As a general rule, the incompatibility of later versions are known to the authors of that product, and ergo, they keep the older versions available, specifically for this reason.

The order of topics are

Visual Display Tool

Putting it all together, "hello world"

searchSearch Index