Building the KUSP Software

This is a guide to building and installing the KUSP user-level software tree. Note that you must check out and build a KUSP kernel as described by Building the KUSP Kernel before following these instructions. The reason for this is that the KUSP user-level software uses KUSP kernel features and must have access to the header files and other information created by building the kernel in order to build the application code that will run on the KUSP kernel successfully.

KUSP User Software Dependencies

To build the KUSP Software:

  • KUSP kernel source
  • CMake 2.6
  • SWIG 1.3
  • Flex 2.5
  • Bison 2.4
  • gcc-c++ 4.4
  • python
  • python-devel
  • python-ply
  • zlib-devel
  • wget
  • patch
  • autoconf
  • automake
  • libtool

To use the KUSP software:

  • KUSP kernel install
  • python-ply (Python Lex and Yacc)
  • gnuplot

To prepare the proper context you should check out the KUSP tree from our SVN repository using the following SVN command and set two shell environment variables to point to the appropriate directories. Make sure that you are currently in the directory where you wish to checkout the KUSP user-level source tree before running the SVN command:

bash$ cd <kernel-source-tree-root>; export KUSPKERNELROOT=`pwd`
bash$ cd <directory-where-want-to-check-KUSP-out>

We are about to build a series of commands and other software which will need to be installed somewhere. Part of setting up your own environment will be to create a directory in which all of the KUSP software will be installed:

bash$ mkdir <kusp-install-dir>

Consider adding these lines to your .bashrc file (located in your home directory as hidden file):

export KUSPINSTALL=<kusp-install-dir>
export PYTHONPATH=$KUSPINSTALL/lib/python2.5/site-packages:$PYTHONPATH
export LD_LIBRARY_PATH=$KUSPINSTALL/lib:$LD_LIBRARY_PATH
export PATH=$KUSPINSTALL/bin:$PATH
export KUSPKERNELROOT=<path-to-kernel-source>

Reload your .bashrc by going to your home directory and entering (at the command line):

bash$ . ~/.bashrc
  • Note: please double check paths, including ensuring that your python path is pointing to the most up-to-date library, (2.5 may become out of date)<br><br>

Building the KUSP Source Tree Using CMake

The KUSP Quick Installation guide is meant for those familiar with CMake, Subversion, the KUSP source tree, and general Linux software installation methods. For a more detailed guide to KUSP installation, as well as information on adding new software to the KUSP source tree, refer to the installation-guide-section and developers-guide-section.

Get the Source:

bash$ svn co https://subversion.ittc.ku.edu/svn/libertos/kusp/trunk kusp
bash$ cd kusp; export KUSPROOT=`pwd`

Build KUSP:

bash$ cd $KUSPROOT
bash$ make -f kusp.mk

Build KUSP Examples:

bash$ make -f kusp.mk examples

Building the Automake Source Tree

Note: This approach to building the KUSP software is obsolete and will be deleted soon

bash$ svn co https://subversion.ittc.ku.edu/svn/libertos/kusp/ bash$ cd kusp; export KUSPROOT=`pwd`

The following sets of commands will all generate large amounts of output. They can be safely ignored the majority of the time, but to be careful, we are redirecting the make output to a file for later inspection for any indication of compilation warnings and oddities in addition to outright errors which will stop the process.

Build and install kusp-base:

bash$ cd $KUSPROOT/kusp-base
bash$ ./bootstrap
bash$ ./configure --with-linuxsrc=$KERNELROOT --prefix=$KUSPINSTALL
bash$ make >&make.out; make install >&install.out

Build and install datastreams:

bash$ cd $KUSPROOT/datastreams
bash$ ./bootstrap
bash$ ./configure --with-linuxsrc=$KERNELROOT --prefix=$KUSPINSTALL
bash$ make >&make.out; make install >&install.out

Build and install group scheduling:

bash$ cd $KUSPROOT/groupsched
bash$ ./bootstrap
bash$ ./configure --with-linuxsrc=$KERNELROOT --prefix=$KUSPINSTALL
bash$ make >&make.out; make install >&install.out

Configure the experiments tree:

bash$ cd $KUSPROOT/experiments
bash$ ./bootstrap
bash$ ./configure --with-linuxsrc=$KERNELROOT --prefix=$KUSPINSTALL

Experiments should be built individually because some of them may not currently be ready to build, so for now, do not run make and/or make install for the entire experiments tree. Rather, each individual experiment should be built and installed from their individual source directories only when ready and necessary.

Table Of Contents

Previous topic

Building the KUSP Kernel

Next topic

KUSP Testbed Setup

This Page