Xplanet 0.73
03 Aug 2000

Xplanet now uses its own simple graphics file library to read, resize,
and write image files.  Currently gif, jpg, png, pnm, and tiff formats
are supported.  Make sure you have at least one of these libraries
installed on your computer before compiling Xplanet.

Either OpenGL (www.opengl.org) or Mesa (www.mesa3d.org), along with
GLUT (http://reality.sgi.com/opengl/#glut), should be installed.  If
you don't have these libraries and don't want to install them, you can
use the --disable-animation option of the configure script, described
below.  As of Mesa 3.1, the graphics libraries are named libGL and
libGLU instead of libMesaGL and libMesaGLU.  If you're using an older
version of Mesa, edit the Makefile to link to -lMesaGL and -lMesaGLU
instead of -lGL -lGLU.

Xplanet works without a DISPLAY variable set if you want to output to
a file.  Text annotation will not work in this case unless you pass
the --with-magick flag to the configure script.  In that case Xplanet
will be compiled with the ImageMagick libraries and use them for text
annotation on images.  If you want to compile with ImageMagick, make
sure that the program Magick-config is in your PATH.

All that being said, the usual sequence of "./configure; make" should
build the program.  Additional options to the configure script are:

  --with-auxdir=DIR       subdirectory under PREFIX containing map and marker 
                          files [share/xplanet]
  --with-map-extension=EXTENSION
                          use EXTENSION as default map extension [jpg]
  --with-markerfile=FILE  use (planet-name)-FILE as default marker file 
                          [-markers.txt]
  --with-gif              Enable GIF support [yes]
  --with-jpeg             Enable JPEG support [yes]
  --with-png              Enable PNG support [yes]
  --with-pnm              Enable PNM support [yes]
  --with-tiff             Enable TIFF support [yes]
  --with-magick           Use ImageMagick libraries [no]
  --disable-animation     Do not enable --animation option (OpenGL/Mesa 
                          will not be used in this case)
  --with-gl-dir=DIR       Location of OpenGL/Mesa headers and libraries
  --with-glut-dir=DIR     Location of GLUT headers and libraries
  --with-gdk              Use GDK/GTK libraries [no]

The GDK stuff doesn't compile yet, so don't try it!

In the event autoconf doesn't work for you, I've also supplied a
Makefile.  Check to see that the flags all point to the proper
directories and libraries.  If you compile xplanet on a new platform,
I'd appreciate hearing about it.

In order to run Xplanet, you'll need at least one map file. Some good
sources are: 
The Xglobe & Xplanet Maps page (www.radcyberzine.com/xglobe)
The Ssystem Home Page (www.wam.umd.edu/~kamelkev/Ssystem)
JPL's Maps of the Solar System (maps.jpl.nasa.gov)
The Planetary Maps Hub (www.lancs.ac.uk/postgrad/thomasc1/render/maps.htm)

If no image is specified with the -image option, Xplanet looks in the
directory specified at compilation time (usually
/usr/local/share/xplanet or /usr/X11R6/share/xplanet for the
precompiled rpm) for the file to use as the day map.  This file should
be named body.extension, where body can be mercury, venus, earth,
moon, mars, jupiter, io, europa, ganymede, callisto, saturn, titan,
uranus, neptune, or pluto.  The extension of the file by default is
jpg but this can be changed using the --with-map-extension option to
the configure script.

A useful trick I've found with configure is that if you set your
CPPFLAGS and LIBS environment variables, configure will search the
appropriate directories.  For example, RedHat Linux puts the Mesa
header files and libraries under /usr/X11R6 and the ImageMagick header
files in /usr/X11R6/include/X11/magick although Magick-config reports
the include directory as /usr/X11R6/include.  So under csh,
    setenv CPPFLAGS "-I/usr/X11R6/include/X11"
    setenv LIBS "-L/usr/X11R6/lib"
    ./configure --with-magick
should do the job.

Other OS dependent things:
On Digital Unix, with the native C++ compiler, compile with the option
-ieee_with_no_inexact.  

Solaris: with gcc 2.95.2, compile with the flag -fpermissive.  The
configure script should add this for you.

Hari Nair
hari@alumni.caltech.edu
