Installing Maverik under cygwin

First, install cygwin.

Then, download Maverik-6.1.tar.gz from aig.cs.man.ac.uk. gunzip and untar it. Make a soft link from Maverik-6.1 to Maverik. Run setup (with --help for options). I use:

setup --PNGINCL=""
      --TRINCL="-I/home/keatesm/tr-1.1"
      --TRLIBS="/home/keatesm/tr-1.1/tr.o"
      --VRML97
for OpenGL and:
setup --D3DINCL="-I/usr/local/include"
      --PNGINCL=""
      --VRML97
for Direct-3D (you will need D3D include files for this - extract them to a suitable directory e.g. /usr/local/include).

The PNG options are necessary to force Maverik to compile with png support. Without it textures are (possibly converted to and) read as PPMs, which do not have an alpha channel. The TRLIBS option is not a library but just an object file. The TRLIBS are not compatible with Direct-3D (it may compile, but the functions won't work as they use OpenGL).

Edit your .bashrc and add

export MAV_HOME=/home/keatesm/Maverik

(putting in the directory where Maverik is installed).

The necessary include files for OpenGL should be installed in /usr/include if you have the latest version of cygwin.

make

You can ignore any warnings about ignored pragmas - it should compile. However if the textures appear corrupt under win95 then you need to update your opengl32.dll (I copied one from win98 and it works fine).

Building applications

You need -L${MAV_HOME}/lib -I${MAV_HOME}/incl

and to link with -lmaverik -lopengl32 -lglu32 -lgdi32 -luser32

If you compiled with D3D support you only need to link with -lmaverik -lgdi32 -luser32

If you compiled Maverik with the PNG option you will also need to link with -lpng.

If you want the glu tessellator to work then link with -lmesaglu instead of -lglu32 (if you've installed libMesaGLU.a).

Problems in Maverik-6.1

Currently, all applications that open multiple windows crash for me when using OpenGL with full hardware acceleration (the D3D/Direct-X version is fine) (I am using an ATI Rage LT Pro card). The software version works fine. Other cards are known to work correctly (if your card is more recent, then it will probably be ok).

Any application compile errors with identifiers containing "__PNG__" probably mean that you need to add -lpng to the end of your link line.