This page outlines how to install, compile and configure the basic RHexLib library distribution. The basic distribution does not include any system specific code. Details associated with specific hardware implementations can be found in separate documentation hierarchies.
Obtaining and Installing RHexLib
RHexLib usually comes as part of a larger software package which bundles a variety of utility libraries together with robot specific code. However, you can contact <ulucs+rhexlib@cs.cmu.edu> for a standalone copy of the core RHexLib library. The installation instructions in this section are only for such standalone copies. Bundled distributions have their own installation guidelines.
If you have obtained the core RHexLib as a standalone package, you should have a file called RHexLib.tar.gz. You can decompress this file under Linux or QNX with
cd ~
tar -xvzf RHexLib.tar.gz
This will create a directory called RHexLib which contains all the core RHexLib libraries.
Compiling RHexLib
Compilation of RHexLib requires defining the environment variable RHEX_DIR. If you are running csh derivatives, you should add the following command to your .cshrc file
setenv RHEX_DIR ~/RHexLib
Otherwise, if you are running bash derivatives, ass the following code segment to your .bash_profile
export RHEX_DIR=~/RHexLib
Of course, if you uncompressed the package into somewhere other than your home directory, you should modify the settings accordingly. Once these settings are in place, the following command will compile all the core libraries
The top level Makefile that comes with RHexLib supports the following targets.
- libs: Compiles core libraries libbase.a, libutils.a and libclient.a
- exec: Compiles and links executables in the examples directory
- clean: Cleans everything
- clean: Only cleans compiled object files
- depend: Forces generation of header dependencies
- wc: Counts number of characters, words and lines in all sources
- modeBuilder: Compiles the mode builder utility
The default target only compiles the libraries and the mode builder utility.
Structure of the Library
The core RHexLib consists of the following directory hierarchy
- RHexLib
- RHexLib/lib : Directory where all the compiled libraries are symbolically linked
- RHexLib/include : Include files for the base library and symbolic links to include directories for libutils and libclient.
- RHexLib/base : The base RHexLib component library
- RHexLib/libutils : RHexLib utilities library
- RHexLib/libclient : RHexLib client tools library.
- RHexLib/doc : Sources and output for RHexLib documentation
- RHexLib/examples : Simple examples for developing with RHexLib
- RHexLib/tools : Various tools for developers
Each subdirectory also has their own Makefiles and can be individually compiled. However, creation of symbolic links into lib and include are handled by the top level Makefile.
RHexLib Reference Documentation