Thursday, September 01, 2005

Palm OS Emulator (POSE) on Debian Sarge

I’ve been kicking around the idea of writing some Palm programs for a while. It’s an excuse to freshen up on my C programming skills. A lot of the necessary development tools are available as Debian packages on sarge, such as pilrc and prc-tools. The ROM’s, SDK, and emulator can be found on Palm’s developer site.

Getting prc-tools and pilrc installed and configured was pretty simple, since they are already packaged for sarge. But the emulator is a little trickier. It is not available as a package for Sarge, since it requires fltk 1.0, which is not available in Sarge.

This page documents how I got POSE running on Debian sarge.

Step One: Install Old GCC

The version of FLTK you need will not compile under gcc 3.3. So fire up aptitude and install the packages gcc-2.95 and g++-2.95.

For the next steps, you need to use gcc 2.95 rather than gcc 3.3. To do this, I adjusted the links. There’s probably a right way to do this, but this works for me:

$ su
# cd /usr/bin
# rm gcc
# ln -s gcc-2.95 gcc
# rm g++
# ln -s g++-2.95 g++

UPDATE:
Hello, thanks for your Info! But you can do the build-chain without the change of the gcc links. One of “The right way"s would be to use a command like the following one for configure the fltk and pose packages:
CC=gcc-2.95 CXX=g++-2.95 ./configure

Regards, Joachim.

Step Two: Install FLTK

Head over to www.fltk.org and download the source for version 1.0.11. I saved the source to /usr/local/src.

Now you can untar the FLTK source, and build it:

$ cd /usr/local/src
$ tar zxf fltk-1.0.11-source.tar.gz
$ cd fltk-1.0.11
$ ./configure
$ make
$ su
# make install

Now you have the correct version of FLTK installed at /usr/local. Cool.

Step Three: Compile POSE

You’ve already downloaded the POSE source from Palm, right? Good. So extract and build:

$ tar zxf emulator_src_3.5.tar.gz
$ cd Emulator_Src_3.5/BuildUnix
$ ./configure
$ make
$ su
# make install

Step Four: Fix GCC Links

Don’t forget this.

$ su
# cd /usr/bin
# rm gcc
# ln -s gcc-3.3 gcc
# rm g++
# ln -s g++-3.3 g++

That’s it. You should now be able to fire up pose and do your thing. I hope this document is helpful. If you find any glaring errors, let me know.

No comments: