Sunday, January 04, 2004


I've compiled and created an IPKG for GNU Go. You can download gnugo_3.4_arm.ipk from here. Once installed you can use it with cgoban to play Go against the computer. From cgoban use the 'Go Modem' option and enter '/usr/local/bin/gnugo' as the program name of the computer player.
2:55:22 AM    

I wanted to install a ROX application launcher (known as an AppDir) for cgoban. To do this I followed Peter Geer's article on Building Application Directories and used the AbiWord AppDir as a template. It's actually pretty easy and I'd recommend any IPKG creators to do this if possible. Basically I created the directory structure before step 9 in my IPKG building instructions, locating it under /usr/apps/. For cgoban that was /usr/apps/Games/cgoban. Then running step 9 results in this being installed on the users Zaurus and gives them a clickable icon to run the application.
2:09:33 AM    

How to build applications and create ipkgs on the Zaurus (this is geared towards the Cacko X11 ROM).
  1. Install the development tools from the Cacko site.
  2. If you want to build X11 applications natively you'll need to install the X11 libraries. These can be obtained from the cross compiler distribution at Cacko. Just copy the X11R6 directory to somewhere (/mnt/card/X11R6 for example). You only need the include and lib subdirectories.
  3. Obtain ipkg-build.sh. Put this somewhere on the path or in your home directory. Note that this is a slightly modified ipkg-build.sh file to that from the Zaurus site so that it runs correctly on the Zaurus itself. The change was to manually gzip the tar files as the Zaurus tar does not have the '-z' option.
  4. Change to the directory containing the application you want to build.
  5. Run the 'configure' script passing it a prefix directory where things will be installed: ./configure --prefix=/mnt/card/tmp/install/usr/local. If the application requires X libraries you'll need to include the path to these: ./configure --x-includes=/mnt/card/X11R6/include/ --x-libraries=/mnt/card/X11R6/lib --prefix=/mnt/card/tmp/install/usr/local. You will first have to have installed the X11 libraries (See step 2).
  6. Run 'make'.
  7. Run 'make install'. This will install the files to the path that you passed to '--prefix' when running 'configure'.
  8. Follow the ipkg_howto instructions on adding a 'control' file. This should be added to a 'CONTROL' subdirectory which is a sibling to the 'usr' directory that you used as the prefix. In the examples above it would be '/mnt/card/tmp/install/CONTROL/control'.
  9. Run ipkg_build.sh to build the ipkg. For the example above the command would be: sh ipkg-build.sh /mnt/card/tmp/install/ /mnt/card/tmp/. This will create an IPKG file with the name using the data from the 'control' file.

2:00:55 AM    

I've compiled and create an .ipkg for Cgoban, a Go playing program. You can download cgoban_1.9.12_arm.ipk from here. This was built for the Cacko X11 ROM, and installs an icon under App/Games/cgoban in ROX.
1:36:00 AM    

Distcc is a tool to distribute compilation of code across machines. Using it you can set the Zaurus up to compile code both natively and using a PC for cross compilation to speed things up. Tips on how to set this up are in the ZUG forums.
12:16:47 AM