You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

The easiest way to build the SLIC simulator package is using the SimDist CVS project.

Basic Build Procedures

On a Unix-like system, execute the following in a bash shell.

cvs -d :pserver:anonymous@cvs.freehep.org:/cvs/lcd co SimDist
cd SimDist
chmod +x build.sh
./build.sh

This will create the log files configure.log and build.log. The latter is "tailed" to check the progress of the build.

tail -f build.log

Try executing this script when the build completes.

./scripts/slic.sh

Depending on your system speed, the entire build process will take around 2 hours.

If there is an error running the slic binary using this script, then check your build log (starting at the top) for error messages.

Advanced Instructions

The SimDist build system is based on GNU Autoconf and Make. Individual packages can be manipulated using make commands from their appropriate package directories.

For instance, to cleanly recompile slic, execute these commands.

cd SimDist/packages/slic
make packageclean
make

Most packages support the following make targets through a generic packaging system.

make              # execute standard build targets in order
make cvs          # checkout from cvs
make packageclean # removes the current build 
make download     # download a tarball of the package
make config       # execute configure script or commands
make compile      # compile the libraries or binary
make install      # install the package

Most packages support either a cvs or a download command, depending on whether they are accessible in the SLAC cvs repository. Those packages that are not in a SLAC cvs are most likely only accessible via wget download.

Package System

SimDist operates on a loose system of package configuration which sets a number of standard build variables in the configuration stage for each package in the packages directory. A configure script in the base directory generates the actual Make file fragments for the packages, depending on the configuration selected and on the properties of the local host. Following the Autoconf build system, there are .in files in the package directories that are used by the configure script to generate these Make fragments.

Each package also has a file called package.gmk where it may override or add build settings.

For instance, sometimes it is useful to enable verbose compilation and linking when building slic (the final package to be built by an in-order build).

To do this, add an option to its package.gmk file in packages/slic/package.gmk.

PACKAGE_CONFIG_OPTS="--enable-compile-verbose"

Other options available in the slic build only can be viewed in the slic directory.

cd slic/HEAD
./configure --help

For instance, there are options for making gdb-enabled binaries. These could be passed to SimDist by adding this option to slic's package.gmk file.

{{noformat}
PACKAGE_CONFIG_OPTS="--enable-gdb=yes"

 
  • No labels