You must configure the compile time options you wish to use. These are set with the ./configure script which produces Makefiles for the src and $ARCH directories. After doing the configuration you will do the make. The configuration can be set in two ways:
./configure IRIX5 GL TK FORMSThis will save the options to the file ./configure.options so the next time you want to regenerate the Makefiles, you need but do
./configure
cp ./configure.options.IRIX5 ./configure.options ./configurefor the HP version with MESA we simply do
cp ./configure.options.HPUX9 ./configure.options ./configureThese files are included in the distribution.)
After you've set the options in the file, run ./configure to propagate the new definitions to the Makefiles! The full list of compile-time options set by the configure script are:
Option: Tested with IRIX5 -- SGI IRIX 5.3, SGI IRIX 6.x (see comments below) LINUX -- RedHat Linux 5, kernel 2.0.32 HPUX9 -- HPUX 9, HPUX 10 (se comments below).
GL -- SGI's GL graphics library OPENGL -- OpenGL graphics library MESA -- API implementation of OpenGL (uses only X calls) NOGRAPHICS -- Do not use any display graphics
GL - We have managed to get the GL version running on IRIX5 (of
course), HPUX9 (using the NPGL GL emulator from Portable Graphics) and
AIX3 using IBM's implementation of GL. Since we don't have access to
an AIX machine, the binary is not distributed. On older SGIs, OpenGL
is emulated via GL, so you should probably compile for GL on these
platforms.
OPENGL - VMD compiles with OpenGL for SGIs. On the newer SGIs, GL
is implemented via OpenGL, so you should compile for OpenGL on these
platforms. If you have a mix of GL and OpenGL-based machines in the
same environment and want to get the best performance out of each,
you'll have to do a bit of hackery to start the appropriate binary.
Our suggestion is to compile and install one version as GL, and
compile the OpenGL and rename the binary vmd_IRIX5_opengl. You can
place that binary in the VMDDIR and modify the 'vmd' startup script to
recognize which machine is running and start the appropriate
application. To get GL or OpenGL if you do not already have it/them,
contact your vendor or other support services.
MESA - We have compiled VMD with MESA 2.6 on all of the tested
OSs. The Mesa library is available for free via ftp from
iris.ssec.wisc.edu in the pub/Mesa directory. Mesa is also
mirrored on sunsite in the directory
pub/packages/development/graphics/mesa. See the web address
http://www.ssec.wisc.edu/ brianp/Mesa.html for more
information, and the README in ./lib/Mesa for information
about how to get Mesa working with VMD.
To get access to the CAVE library, please contact them. We cannot distribute the library directly but the standard SGI binary distribution version is compiled with the CAVE library. To use that option, start VMD with the run-time option -dispdev cave. The CAVE libraries we used are old, and VMD will not compile with the newer libraries. We plan to interface VMD with the newer CAVE libraries in the final 1.2 version.
The configuration options are:
CAVE -- include run-time support for CAVE display (GL). CAVEOGL -- include run-time support for CAVE display (OpenGL).
XFORMS -- the standard (soon to be "old") GUI TK -- (not yet supported) the rewrite of the XFORMS interface in Tk
To date the GUI for VMD has been XForms or its GL-based predecessor, FORMS. In version 1.2b2 the GUI is still XForms based but we plan to convert to TK because of the increased flexibility available to scripts. For instance, this will allow user-scripts to create or modify the display on the fly; like drawing an RMSD plot in a new 2D graphics window. If you want to try out Tk, go ahead, but there will be no GUI or mouse control.
You should compile with XForms, in which case you need to get the pre-built binaries from http://bragg.phys.uwm.edu/xforms/ or from the ftp site ftp://einstein.phys.uwm.edu/ . There are instructions in ./lib/xforms/README describing what you need to do.
VMD was compiled against Tcl/Tk version 8.0 and TclX version 8.0.2 . You must have the 8.0 or better versions of both packages. The latest versions can be found at:
Tcl/Tk 8.0 is at http://sunsite.sun.com/TclTkCore/8.0.html
TclX 8.0.2 is at ftp://www.neosoft.com/pub/tcl/TclX
Because Tcl and TclX are very useful programs, we make the assumption that these will be installed on your system, so there is no ./lib/tcl directory. To configure VMD to use the appropriate Tcl/TclX directory, you may have to edit ./configure and change a few variables. The current settings look in /usr/local/[include,lib] unless the corresponding environment variable is set. The variables are:
From the configure script:
################ Tcl / Tk # location of TCL library and include file. # If left blank, standard system directories will be searched. $stock_tcl_include_dir=$ENV{"TCL_INCLUDE_DIR"} || "/usr/local/include"; $stock_tcl_library_dir=$ENV{"TCL_LIBRARY_DIR"} || "/usr/local/lib"; # location of Tk (for TK option) $stock_tk_include_dir=$ENV{"TK_INCLUDE_DIR"} || "/usr/local/include"; $stock_tk_library_dir=$ENV{"TK_LIBRARY_DIR"} || "/usr/local/lib"; # location of TclX $stock_tclx_include_dir=$ENV{"TCLX_INCLUDE_DIR"} || "/usr/local/include"; $stock_tclx_library_dir=$ENV{"TCLX_LIBRARY_DIR"} || "/usr/local/lib";
Either change the default values or override them with the environment variables. As a note, if compiling TclX without Tk, you'll need use the option ./configure -with-tk=NO.
SURF -- add the external call to SURF (uses DrawMolItemSurf.\{Ch\} and adds the option to the graphics pop-up list)
There is no reason not to compile SURF. It is actually distributed (with permission) as part of the VMD distribution. To compile surf, go to ./lib/surf and follow the instructions in README.VMD (the README file if from surf itself). The end result will be a program named surf_$ARCH in that directory. Leave it there.
For the main SURF distribution, see
ftp://ftp.cs.unc.edu/pub/projects/GRIP/SURF/surf.tar.Z
ALPHA -- Call the alpha shapes programs to compute the spectrum
You can get the alpha shapes code yourself, but this does not include
the library VMD uses to read the output of the alpha shape binaries.
If you want them, see http://alpha.ncsa.uiuc.edu/alpha or
the ftp site
ftp.ncsa.uiuc.edu/Visualization/Alpha-shape .
UNC -- use it
The standard VMD distribution for IRIX5 is compiled with UNC. We have not tested it with any other platforms. See ./lib/unc/ for more information about the library and how to set it up with VMD.
The configuration options for MDComm are: REMOTE -- use MDComm for doing remote simulations
Please read ./lib/mdcomm/README for information about setting up MDComm (and RAPP) for use in VMD.
DEBUG or NODEBUGWhen turned on, these print all "msgdebug" messages. There are a lot of them and they really slow things down. (BTW, you can tell who wrote which sections of code by who uses msgDebug :) Also, set the -g flag when compiling. By default, VMD is compiled with NODEBUG. If you only want to add the -g flag, edit the configure script so the compiler is defined as "CC -g" (or "g++ -g").
SILENT or NOSILENTThe default is SILENT, in which case you don't see the details of the compilation as it suppresses the make command echo. All this does is add or not add the line ".SILENT" near the top of the produced Makefile.