3.3. Install Mesa

Note: This gives you the libGLU* and libglut* files that may be missing in XFree86. XFree86 used to only come with the OpenGL core library, libGL (based on Mesa). This also installs Mesa's libGL, but we will delete that since it is to be replaced by the Nvidia libGL.

You should look in /usr/X11R6/lib to see if you already have libglut.* and libGLU.*. If you do, you can skip installing Mesa. Recent releases of XFree86 have been including more of Mesa as standard.

It's best to uninstall any old Mesa version you may have installed before installing a new Mesa. Uninstalling software can be a dangerous operation, so know what you are doing! If you have software depending on your old Mesa, you might need to keep it and just install the new Mesa along with it.

To completely uninstall any Mesa libs that may have come with Slackware:

		removepkg mesa
For rpm-based systems (like RedHat and Mandrake), try:
		# see what will be removed first
		rpm -e --test Mesa | less
		# if ok, proceed
		rpm -e Mesa
For Debian, you can try:
		apt-get remove Mesa
Procedures vary for other distributions. If there is no clear way to uninstall an existing Mesa, then at least confirm where it is installed: normally either under /usr or /usr/local. The example below assumes that Mesa is installed (or going to get installed) under /usr. Installing over an old version is probably harmless. Look for /usr/lib/libMesa* or /usr/local/lib/libMesa* and delete them unless you have programs that need them.

	# IF you are going to use the project GLUT distribution of GLUT, then
        # unpack the Glut-3.7 packages ...
	# Mesa's compile looks for it
	cd /usr/src
	tar -xvzf glut-3.7.tar.gz
	tar -xvzf glut_data-3.7.tar.gz
        # IF you are using this GLUT, use the --with-glut=/usr/src/glut-3.7
        # parameter with Mesa's ./configure below in addition to the --prefix

	cd /usr/src
	tar -xvzf MesaLib-4.0.1.tar.gz
	tar -xvzf MesaDemos-4.0.1.tar.gz
	cd Mesa-4.0.1
	./configure --prefix=/usr
	make install

Important: At this point, Mesa installed its own version of the glx.h include files over the ones that XFree86 installed. This will cause some programs to fail to compile and is corrected by copying the XFree86 GL include files from the X source back to your system:

	cp /usr/src/release/xc/include/GL/*.h /usr/X11R6/include/GL