Downloading FeS2 Source

FeS2 is distributed under the GNU General Public Licence version 2, and the source code is available from our read-only subversion repository: http://subversion.cs.uiuc.edu/pub/svn/FeS2/trunk. To freshly checkout the code into a directory named FeS2, do the following:
svn co http://subversion.cs.uiuc.edu/pub/svn/FeS2/trunk FeS2
Then read the directions contained in the INSTALL file to configure and build the source tree. See the FeS2 Compilation Guide for more detailed directions.

Downloading TraceVis Source

The TraceVis pipeline-visualization tool is also distributed under the GNU General Public Licence version 2, and the source code is available from our read-only subversion repository: http://subversion.cs.uiuc.edu/pub/svn/FeS2/tracevis/trunk. To freshly checkout the code into a directory named tracevis, do the following:
svn co http://subversion.cs.uiuc.edu/pub/svn/FeS2/tracevis/trunk tracevis
Then read the directions contained in the README.txt file to build the source.

FeS2 Compilation Guide

This guide outlines the procedure for compiling FeS2 as a module for Simics.

Pre-requisites

  • Simics 3.0.x
  • Python 2.3 or newer
  • GCC (This method tested with versions 4.1.2 and 4.2.3)
  • as (GNU assembler) 2.17 or newer
  • SConstruct - a python based replacement tool for make
  • Subversion - a version control tool
  • M4
  • Bison
  • Flex
  • Qt 3.0 or higher (only required to use TraceVis)

Install Simics 3.0.x

Free Simics 3.0.x licenses are available for academic use. Please consult the
Simics technical support website for more information.

Install Python and Other Packages

Users running Debian/Ubuntu:
> apt-get install python bison m4 flex libqt3-mt qt3-dev-tools scons subversion
Users running Red Hat based distributions:
> yum install python bison m4 flex qt qt-devel scons subversion

Checking Out and Building FeS2

In the following commands, <FeS2InstallDir> is the path where you want FeS2 to be installed.
> svn co http://subversion.cs.uiuc.edu/pub/svn/FeS2/trunk <FeS2InstallDir>
> cd <FeS2InstallDir>
Then setup the following environment variables. Replace <SimicsInstallDir> with the full path to your Simics 3.0.x installation. Typically this would be /opt/virtutech/simics-3.0.x. Similarly <Qt3LibDir> is the path to the directory where the Qt3 libraries are present. Usually this will be /usr/share/qt3/lib (Debian/Ubuntu systems) or /usr/lib/qt-3.3/lib (Red Hat based systems).
> cd <FeS2InstallDir>/FeS2
> export FES2_HOME=${PWD}
> export PACG_HOME=${PWD}/external
> export PYTHONPATH=${PACG_HOME}:${FES2_HOME}/python_lib:${PYTHONPATH}
> export SIMICS_INSTALL_DIR=<SimicsInstallDir>
> export LD_LIBRARY_PATH=<Qt3LibDir>
Next, run the installation script to setup your build environemnt. It will create a new Simics workspace for you named <FeS2InstallDir>/simics/FeS2-workspace.
> ./install.py
Finally, build the FeS2 source. This will create a Simics module named pyrite, which will automatically be installed into <FeS2InstallDir>/simics/FeS2-workspace/modules.
> make
Alternatively, you can build the source with optimizations disabled and debugging symbols enabled.
> make ENABLE_DEBUG=1