Linear Collider Detector Project

Home

Tutorials

Software Roadmap

Event Generation

Detector Simulation

Reconstruction

 

Fast MC

Analysis Tools

Data Availability

Code Availability

Presentations and Studies

Status Updates

Working Groups

Event Pictures

People

Links

Mailing Lists

Installing Gismo/GismoApps

This document contains instructions for installing the Gismo/GismoApps simulation tool used in LCD studies. Gismo is the (experiment independent) simulation engine and GismoApps are the LCD applications which have been written to run on top of Gismo. This page is organized into two major sections:

Installation

The Installation section is designed to give an uncomplicated overview of the installation process.

Installation Notes

The Installation Notes section contains all sorts of grubby details relevant to the installation.


Installation

Prerequisites

  Unix Windows/NT
Special Environment   Cygwin (free from Cygnus Solutions)
Compiler EGCS 1.1 or better Microsoft Visual Studio 6.0
CLHEP clhep-1.4.0.0 or better clhep-1.4.0.0 or better
stdHEP v4.06 or better Apply to SLAC

Bootstrap Installation Instructions

Source code for Gismo and GismoApps is bundled together with a release number appended (e.g. Gismo_R2.0). The distribution files are identical for all flavours of Unix and for Windows/NT but the latest release is only supported for SunOS and Linux. Because the distributions are a superset of all files needed for all platforms, individual platforms will find files in the distributions which are unneeded.

  • Fetch the distribution files to the preferred location on your machine. Your installation might look something like this:   /your/location/Gismo/Gismo_R3.1.tar.gz

         

  • Build Gismo

  • To build Gismo
  • cd /your/location/Gismo
  • gunzip Gismo_R3.1.tar.gz
  • tar -xf Gismo_R3.1.tar
  • To complete the installation, follow the instructions in /your/location/Gismo/V-3-1-1/Installation/README
  • For more information about the release and building it, read the README file in the Gismo Release Directory 

Distribution Files

Gismo releases are kept on the LCD ftp site in the directory Gismo, containing a README file summarizing the major features of each release.

Take me to the Gismo Release directory


Installation Notes

EGCS Compilers

Surprisingly, EGCS compilers don't seem to work well on Linux! In particular, we have detected problems with optimized code generated by EGCS 1.1, EGCS 1.1.2 and gcc 2.95.1. There is a published patch to gcc 2.95.1 which we have tested but it does not solve the problem. If the recently released 2.95.2 is equivalent to 2.95.1 with this correction, then 2.95.2 is also probably broken (we haven't tested 2.95.2 specifically).

To avoid any Linux pratfalls, the build files distributed with Gismo and GismoApps force Linux to compile without optimization.

CLHEP

There are a number of installation issues for CLHEP when it's used with Gismo/GismoApps:

Issues affecting Unix only:

  • autoconf will try to use vendor compilers where possible. To ensure that the EGCS compiler is used, you need to set the following environment variable before invoking autoconf and make:

setenv CXX g++                        (or the variant appropriate to your unix shell)

  • autoconf properly creates a platform specific configuration file (e.g. CLHEP/config/CLHEP-sparc-sun-solaris2.6-g++.h) but for some reason forgets to copy it to CLHEP/config/CLHEP-default.h which is what the CLHEP files are expecting. Help CLHEP out by copying the former to the latter after autoconf has been run. For installers providing CLHEP to multiple platforms from the same filebase, it appears that if the EGCS compiler is used consistently, the content of the platform specific file doesn't vary, so there is no need to copy the platform specific file to the "generic" file for each platform.
  • Running autoconf on Unix does not properly identify stl as the source of the min and max functions. As a result, CLHEP tries to provide its own which then conflict with stl's at link time. To fix this problem run autoconf as normal, but before running make, edit the file CLHEP/config/TemplateFunctions.h:

#define CLHEP_MAX_MIN_DEFINED         <-- insert this line
#ifndef CLHEP_MAX_MIN_DEFINED
#define CLHEP_MAX_MIN_DEFINED

stdHEP

stdHEP installation on Unix can be quite messy, particularly as the use of Root to read stdHEP generator level events demands that the relevant stdHEP libraries be compiled with the PIC (position independent code) option and that the resulting libraries be made available as shareables. This is beyond the scope of this page. Please address queries about stdHEP on Unix to SLAC.

Generating The Symbols For GismoApps

The worst part of installing GismoApps is editing the "symbols" file. This is easy for Gismo where only one symbol (the location of the CLHEP include stem) is required. GismoApps on the other hand requires twenty or more. Fortunately the symbols are very systematically named. Most of them look like ARVE_<XXX>_SRC or ARVE_<XXX>_BIN where <XXX> is DISPLAY, EGS, GISMO, etc. Using the example installation directory structure again, these symbols should be defined as:

ARVE_<XXX>_SRC=/your/location/Gismo/V-3-1-1/arve/<xxx>/V-1-0-0/src
ARVE_<XXX>_SRC=/your/location/Gismo/V-3-1-1/arve/<xxx>/V-1-0-0/bin/<sys>

where <sys> is your system's response to `uname` (on Unix systems) or nt (on Windows/NT systems). Note that <xxx> is intended to represent the lower case version of <XXX>


A.P.Waite. Last Modified: 01/13/04 12:47