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"