Instructions for using Geomview's `configure' script Geomview uses the GNU autoconf configuration system. The way to configure and compile Geomview is the same as with any piece of GNU-style software: ./configure make make install Once `make' completes you can run Geomview without doing `make install' by running the script `geomview' in the top-level directory. In order for this to work you'll need to be in that directory. IMPORTANT NOTE: by default 'make install' will install Geomview into `/usr/local/Geomview'. Once you've done this, you invoke Geomview by running the script `/usr/local/Geomview/bin/geomview'. If you want, you can copy /usr/local/Geomview/bin/geomview to a directory that's on your PATH, and use it to invoke Geomview (it refers to things in the /usr/local/Geomview directory, so be sure to leave this directory in place if you do this). Or you can add /usr/local/Geomview/bin to your PATH. PARALLEL MAKE: don't bother. The Makefile dependencies are not yet complete. You can override the default installation directory with the --prefix option to 'configure'. For example, to install into /opt/soft/Geomview instead of /usr/local/Geomview, do "./configure --prefix=/opt/soft/Geomview". 'make install' will install files into subdirectories of the prefix directory called 'bin', 'info', and 'data'. Geomview requires both Motif and OpenGL; you need to make sure these are installed on your system before you can compile (or run) Geomview. Both of these are commercial software packages but Geomview will also work with their free counterparts Lesstif or OpenMotif (www.lesstif.org or www.openmotif.org) and Mesa (www.mesa3d.org) [But Linux users see the comments in the 'Linux' section below about Lesstif/OpenMotif.] If either of these is installed on your system in a directory that your compiler doesn't look in by default, you can use the following options to Geomview's configure script to tell Geomview where to find them: --with-opengl=DIR You can use this option if the OpenGL header files and libraries on your system are installed in some place that your compiler doesn't recognize by default. This option specifies that OpenGL (or Mesa) is installed on your system in the directory DIR. DIR should have a subdirectory called `include' which has the GL header files, and a subdirectory called `lib' which has the library files in it. You don't need this option if your compiler can find the OpenGL header files and libraries in the standard places that it looks. If you're not sure about this option, try configuring without it. 'configure' will abort with an error if your compiler can't find the appropriate header files and libraries. --with-motif=DIR You can use this option if the Motif header files and libraries on your system are installed in some place that your compiler doesn't recognize by default. This option specifies that Motif is installed on your system in the directory DIR. DIR should have a subdirectory called `include' which has the Motif header files, and a subdirectory called `lib' which has the library files in it. You don't need this option if your compiler can find the Motif header files and libraries in the standard places that it looks. If you're not sure about this option, try configuring without it. 'configure' will abort with an error if your compiler can't find the appropriate header files and libraries. You can use evironment variables to override various default settings in 'configure' (such as which compiler to use and which options to pass to it). There are many such variables that are generic to all GNU autoconf 'configure' scripts; see the file INSTALL for details on this. In addition to these generic settings, the following variables are specific to Geomview: MOTIFLIBS '-l' options to pass to the linker for linking with the Motif libaraies. Defaults to "-lXm", but some versions of Motif apparently need additional libararies, such as '-lXp'. To specify this, do MOTIFLIBS='-lXm -lXp' ./configure Note that MOTIFLIBS should NOT include any -L options to specify the location of the libraries; use the --with-motif configure argument for that. The MOTIFLIBS variable is just for specifying the list of libraries themselves. ======================================================================== XFORMS: Some of Geomview's external modules use the XFORMS GUI library (http://world.std.com/~xforms). Geomview itself does not use XFORMS, but you need to have XFORMS in order to use many of its modules. The Intel Linux binary distribution of XFORMS is available from the download page on Geomview's web site (http://www.geomview.org/download), and XFORMS distributions for many other platforms are available from the XFORMS web site at http://world.std.com/~xforms. Source code for XFORMS is not available; just binary. For Intel Linux systems there are three different binary distributions, each one corresponding to a different version of libc (the system's standard C library). For all recent Linux distributions you want the one corresponding to glibc2.1 (bxform-089-glibc2.1.tgz). If you want to configure your Geomview source tree with XFORMS, download the binary XFORMS distribution appropriate for your system, and unpack it into the top level directory of your Geomview distribution. This should create a subdirectory called 'xforms' in the top-level Geomview directory (the directory containing 'INSTALL.Geomview' and 'configure'). Do this before running Geomview's 'configure' script. When you run Geomview's 'configure', it will notice the presence of the xforms directory and will arrange to use it. If you have previously installed XFORMS elsewhere on your system, or for some reason you want to put it someplace other than in Geomview's source directory, you can tell Geomview's 'configure' script where to look for it via the --with-forms option: if you run "configure --with-forms=DIR", then 'configure' will look for the XFORMS header and library files in DIR. It expects both the header file 'forms.h', and the libforms library, to be in the same directory. In the standard XFORMS distribution this corresponds to a subdirectory called 'FORMS'. (If you unpacked an XFORMS distribution into your Geomview source tree as described above, you shouldn't need the --with-forms option.) ======================================================================== PLATFORM SPECIFIC NOTES: LinuxPPC -------- On at least one LinuxPPC system with MetroX it was necessary to specify -lXp when linking with the Motif libraries ("MOTIFLIBS='-lXm -lXp' ./configure"). Solaris ------- On the Solaris 2.6 system that I tested, the 'example' external module in 'src/bin/example' failed to link because of an error of the form ld: warning: relocation error: R_SPARC_32: file main.o: symbol .LLC1: external symbolic relocation against non-allocatable section .stab; cannot be processed at runtime: relocation ignored Undefined first referenced symbol in file .LLC1 main.o This was when using GNU gcc to compile and Sun's ld to link, and I believe this error may be due to an incompatibility between these two programs, or at least the versions that were on this system. If this happens to you, you can build with "make -k" to force "make" to continue building the rest of the distribution in spite of this error. The only thing you'll be missing is this one external module, which isn't necessary for Geomview itself. If you find a way to fix this problem, let me [mbp@geomtech.com] know. IRIX ---- Older IRIX systems may require compiling with -XSVR4. This flag had disappeared by IRIX 5.3, so you're unlikely to run into this. On the IRIX 6.3 system that I tested (using CC=cc), the linker crashed when trying to link several of the external modules. I suspect it may be due to a broken compiler installation on that particular machine, but I'm not sure. I'll try to get access to a more recent IRIX installation soon and will check it out more. In the meantime, if you compile Geomview on IRIX and run into any problems, please let me [mbp@geomtech.com] know.