Cross/BuildGuide

Building CROSS

To build and install CROSS you may use the Subversion client software to check out code from our Subversion repository.

To checkout the latest code from the development trunk, enter this on the command line:

$ svn co http://cornet.wireless.vt.edu/repos/vtcross/trunk cross

This page assumes that you are building from code checked out from our subversion repository. If you're building from a release tarball, do not perform the ./reconf step.

First, ensure that you've fulfilled the dependencies specified in the top-level README. Most GNU/Linux systems come with our dependencies already packaged. You may need to install them off of your install CD/DVD or over the net. See below for Operating System specific notes.

To compile, there are 5 steps. Start by cd'ing to the cross directory, then complete the following commands:

$ ./reconf         # Do NOT perform this step if you are building from a tarball.
$ ./configure
$ make
$ make check
$ sudo make install

This will perform all configuration checks and select for build, test, and installation the libcross library needed to access the framework.

External Dependencies

The CROSS core components reference implementation requires several external dependencies that must be built and installed prior to the building of the CROSS system. Before trying to build these from source, please try your system's installation tool (apt-get, pkg_install, YaST, yum, urpmi, etc.) first. Most recent systems have these packages available.

  • GNU make
  • Autotools
    • autoconf 2.57 or later
    • automake 1.7.4 or later
    • libtool 1.5 or later
  • sqlite3 3.4.2-2 or later (for SML and Case-based Reasoner)
  • python 2.6 (for SWIG interface)

Note that CROSS is simply a protocol for exchanging information between components and these dependencies may not be required for custom built components. For example, the SML and Cognitive Engine component may be modified to use a custom database component or no database component at all, thus removing the requirement for sqlite3.