README.COMPILE This document contains information on how to install MissionLab version 6.0. It is identical to the information included in the MissionLab Manual ([MissionLab home]/doc/mlab_manual.ps). Please go through the following steps to compile and install MissionLab on your system: 1. Make sure you have an enough disk space (200 MB Minimum). 2. Ensure you have the required software. We have compiled MissionLab with the following operating system and support software. It will probably compile with later releases, but minor changes might be necessary. o RedHat Linux 7.x or 8.0 o GNU gcc 2.96, 3.1, or 3.2 o Open Motif 2.1 [http://www.opengroup.org/openmotif] or LessTif 2.0 Note: We noticed that LessTif tends to produce various warnings during the operation of MissionLab. Thus, we recommend you to use Open Motif. 3. Obtain the MissionLab distribution (if you haven't yet). You can download the latest distribution of MissionLab (mlab-6.0.tar.gz) from our web page: http://www.cc.gatech.edu/ai/robot-lab/research/MissionLab/ Note: Supporting Software is included with the MissionLab distribution. You are not required to take any special steps regarding this software, but we list it here to credit the developers and point out copyright restrictions: o IPT - A version of IPT is part of the MissionLab source tree. IPT is an interprocess communication system developed at CMU. Also see the file README.IPT. This release of the MissionLab was developed with version 8.4 of IPT. If you wish, you can ftp the package from: ftp://ftp.cs.cmu.edu/afs/cs.cmu.edu/data/anonftp/user/jayg/ (get ipt-8-4.tar.gz and IPTManual.ps.gz). Due to copyright restrictions, IPT MAY NOT BE USED FOR COMMERCIAL PURPOSES. o CThreads - A version of CThreads is now part of the MissionLab source tree. It should compile directly on Linux (or SunOS). CThreads is a lightweight process threads package from Georgia Tech which operates under Linux, SunOS and many other OSs. If you wish, you can ftp the package from: ftp://ftp.cc.gatech.edu pub/software/cthreads/ithreads_distribution.tar.gz o sphigs - Sphigs and srgp are used for the 3D display option. They are included in the MissionLab source tree. Sphigs can be found at ftp://ftp.cs.brown.edu. 4. Unpack the MissionLab distribution. Uncompress and untar the distribution with the following command. Do not mix with the old version of MissionLab: tar -xvzf mlab-6.0.tar.gz You now should see a directory named mission. This directory will be referred to as the ``MissionLab home'' directory. 5. Edit a configuration file. Edit [your MissionLab home]/src/make.include to point to the correct places for your system. THIS IS THE MOST IMPORTANT STEP since the most common error during the compilation comes from the fact that this file is setup incorrectly. Incorrect setup of this file usually produces errors during the compilation of the IPT, and may corrupt it permanently. The makefiles in the src directories reference these files, so changing this file should fix all the makefiles. The following are key places in the make.include to look for: o Set the MLAB_HOME variable to point to your home directory for MissionLab. This should include the full directory path. o Set XDIR to point to the X directory on your system. This is usually /usr/X11R6. o If the program will run on ONLY one type of machine and one windowing environment, set the MLAB_STATIC flag to be empty. This will force MissionLab to use shared libraries. Static linking has the advantage of enabling a compiled version of MissionLab to run on similar systems with slightly differing runtime libraries (e.g. openwindows vs X11R6). Some distributions of linux only include shared libraries, so static linking won't work. 6. Compile: Compile MissionLab with the following commands: tcsh (or csh) - Make sure you are using C-shell (important) cd src make veryclean - To ensure all old stuff is cleaned out. ./configure.cthreads - To configure Cthreads, you only need to run this once. make depend - This may generate numerous warnings that can be safely ignored. make all - This will begin the compile of the entire system. 7. Set up your user environment. (Modify your .tcshrc, etc.) o Add [your MissionLab home]/bin into your execution path. It is not necessary to move the executable files to the bin directory because there are symbolic links from the bin directory to the executable files. o Add ``.'' into your execution path. 8. Setup the CfgEdit environment. If you are planning to use CfgEdit to create your own robot executables, you may want to setup the environment for CfgEdit at this point. Edit ``.cfgeditrc'' in [your MissionLab home]/src/cfgedit. In the file, replace all ``/net/hr1/robot/mission''s with the full path of your ``MissionLab home''. At this point, the installation is completed, and you should be able to run the MissionLab system. ------------------------------------------------------------------------