This document has been tested with MesaLib-4.0.3 under Linux kernel
2.4.18-rmk3 and glut-3.7 under X11R6 (XFree86-4.2.0).
Mesa3D is actually very easy to compile. Following the instructions does work if you
have a large enough disk. However, most iPAQs don't, so you should have some kind
of development platform with about 70 megs of disk space available. Install gcc and
task-gcc from an ipkg feed by running:
ipkg install gcc
ipkg install task-gcc
Once gcc is installed, you should follow Mesa3D's README file on how to compile
for linux. It's very straightforward if you want to install to the default locations. However
if you do not, simply create a temporary directory:
and set it as your prefix (instead of /usr/local):
Once that's compiled, look in the directory. You can now
copy those over to your intended
iPAQ under /usr/local, where gcc on that machine will locate them nicely.
One thing to watch out for: if you're using scp to copy files over, it will not copy symlinks as
symlinks and instead, fill your memory up with an additional 10 megabytes! Copy only the files
and not the links and relink afterwards! Congratulations! Mesa is now installed.
To install GLUT, it is equally straightforward. After
extracting the tarball, follow linux/README
as it says. Before you come to the make step in step 4) you should go edit the Makefile. The -m486
option should be deleted from all instances of
CDEBUGFLAGS = -O2 -m486
glut will not compile with the -m486 flag on.
After compilation, simply copy the lib/glut/libglut.so.3.7 file over to your intended iPAQ and link them
as it shows you in the README file. There is no need to use the path thing if you put it under
/usr/local/lib. Also copy over everything under
include/GL over to
glut-3.7/include/GL/glut.h goes to
To get your programs to work with glut, you may need to install
libxt if it's not installed.
gcc -lm -lGL -lGLU -lglut source.c