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

Compare with Current View Page History

« Previous Version 10 Next »

Building Geant4 Using the Native Compilation Script

Unpack the G4 source, and you will find the Configure script in the top-level directory.

You could set the environment variable G4_NO_VERBOSE in the hopes of improving performance, though to date those improvements have not fully materialized, in fact as of G4 version 8.0.p01, a code modification (see updated G4ParticleDefinition.cc which is attached) is required to prevent the setting of G4_NO_VERBOSE from skipping important code in G4.  Tracy has patched this and it is included in our 8.0.p01-gl4 version of G4, located in $GLAST_EXT/srcExtLibs/geant4.8.0.01-gl4-src.tar.gz

Make sure to install the header files into a single common directory.

Logs of the build are stored in the .config directory

Some interesting things...  the library libG4parameterisations is the product of Tracy's CMT requirements used to build G4 rather than the native G4 build scripts.  G4 calls this same library libG4parmodels

libG4visualizations is the product of Riccardo's addition to the CMT requirements file:  http://www.fisica.uniud.it/~glast/MRStudio/Geant4vis.html

libG4g3tog4 is natively called libG4G3toG4

8.0.p01-gl4

We must use CLHEP 1.9.2.2 to build this version of Geant4 - there are incompatible changes in later versions of CLHEP (even 1.9.4.2).

redhat4-i686-32bit-gcc34

  1. Obtain the source from /afs/slac/g/glast/ground/GLAST_EXT/srcExtlibs/geant4-8.0.p01-gl4-src.tar.gz and unpack a geant4.8.0.p01 directory will be created.
  2. Enter the geant4.8.0.p01 directory and locate the Confgure script
  3. setenv G4_NO_VERBOSE 1
  4. Create a directory named "data"
  5. Run ./Configure -build
    1. OS: Linux Compiler:  g++
    2. Expect to run these binaries on multiple machines:  y
    3. You'll answer where the source is located
    4. Take default for where to install the libraries
    5. Copy all headers into one directory
    6. Store data in data directory
    7. Accept default directories
    8. Provide the locagtion of CLHEP
      Base Directory:  $GLAST_EXT/CLHEP/1.9.2.2/gcc34
    9. Build shared libraries
    10. Build static libraries too
    11. Build global libraries
    12. Do not build granular libraries
    13. Do not build in DEBUG
    14. G4UI_NONE  accept default n
    15. G4UI_BUILD_XAW_SESSION  accept default n
    16.  G4UI_BUILD_XM_SESSION  accept default n
    17.  G4VIS_NONE  accept default n
    18. G4VIS_BUILD_OPENGLX_DRIVER  accept default n
    19. G4VIS_BUILD_OPENGLXM_DRIVER  accept default n
    20. G4VIS_BULID_DAWN_DRIVER  accept default n
    21. G4VIS_BUILD_OIX_DRIVER  accept default n
    22. G4VIS_BUILD_RAYTRACERXX_DRIVER  Set to Yes
    23. G4VIS_BUILD_VRML_DRIVER  Set to Yes
    24. G4LIB_BUILD_G3TOG4   Set to Yes
    25. G4LIB_BUILD_ZLIB   Set to Yes
    26. G4ANALYSIS_USE  Accept default n
  6. Run ./Configure -install
  7.  In the lib/Linux-g++ directory:
    1. rename libG3toG4.* to libG4g3tog4.*
    2. rename libparmodels.* to libparameterisations.*
  8. Copy the following directories to the $GLAST_EXT/redhat4-i686-32bit-gcc34/geant4/8.0.p01-gl4/gcc34 directory
    include    lib
  9. Copy the tables directory from an existing Geant4 8.0.p01 installation in $GLAST_EXT, such as $GLAST_EXT/redhat4-i686-32bit-gcc34/gcc34/tables
  • No labels