Software Installation, release 7.1.p01
http://cern.ch/geant4 OutlineOutline
z Supported platforms & compilers z External software packages and tools z Working area and installation area z Toolkit installation
z Configuring the environment manually
z Using the Configure installation script z Building an executable z Integrating Geant4 in a software framework SupportedSupported platformsplatforms && compilerscompilers
z UNIX systems
z SUN-SunOS v.5.8, CC v.5.4 (WS6)
z G4SYSTEM: SUN-CC
z Linux systems
z Scientific Linux SLC3, g++ gcc 3.2.3
z G4SYSTEM: Linux-g++
z Windows systems
z Win/XP & Cygwin32, MSVC++ 7.1 .NET
z G4SYSTEM: WIN32-VC
z Other systems, not (yet) officially supported
z MacOS 10.4 and g++ gcc 4.0
z G4SYSTEM: Darwin-g++ RequiredRequired softwaresoftware z A UNIX shell and related basic UNIX commands z C++ compiler
z Optional: FORTRAN compiler (f77/g77) is required for building utility tools in the g3tog4 module z GNU Make
z GNU g++ is required for dependencies pre-processing z CLHEP library (http://cern.ch/clhep)
z CLHEP-1.9.2.1 z Geant4 toolkit ExternalExternal softwaresoftware packagespackages -- 11
Visualization/GUI tools (optional):
z X Windows
z OpenGL or MesaGL
z VRML browser
z DAWN (PostScript renderer)
z DAVID (Geometry debugging tool based on DAWN) z Open Inventor or HEP Inventor
z requires OpenGL/MesaGL z Open Scientist z interactive environment, including GUI z Momo z Tcl/Tk or Java-based GUI environment z GGE, GPE graphics editors z WIRED z Uses the HepRep built-in graphics driver ExternalExternal softwaresoftware packagespackages -- 22
Module and Tools for analysis (optional) z AIDA (Abstract Interfaces for Data Analysis)
z JAS (Java Analysis Studio)
z PI (Physicist Interfaces for AIDA Interactive Analysis)
z Open Scientist (Interactive Analysis Environment)
z Any other analysis tool compliant with AIDA interfaces … WorkingWorking areaarea && InstallationInstallation areaarea z Why two different areas ?
z To allow centralized installation of the Geant4 kernel libraries and related sources in a multi-user environment
z To decouple user-developed code and applications from the kernel
z To allow an easy integration of the Geant4 software in an existing software framework
z To allow multiple installations of the kernel and user code z Working and Installation area can be the same z Are controlled by two environment variables z G4WORKDIR and G4INSTALL ConfiguringConfiguring thethe environment:environment: thethe manualmanual approachapproach forfor installationinstallation z Identify the system used for the installation
z G4SYSTEM z Identify the area of installation (i.e. path where the source code and the kernel libraries should be based)
z G4INSTALL
z Optionally, specify a different path for the kernel libraries and/or the temporary object files
z G4LIB, G4TMP
z Optionally, specify a different path for exporting of source header files
z G4INCLUDE ConfiguringConfiguring thethe environment:environment: thethe manualmanual approachapproach forfor installationinstallation z Specify the path of installation for CLHEP
z CLHEP_BASE_DIR
z should point to the area where include/ and lib/ are placed from the standard CLHEP installation procedure
z Paths can be customised: CLHEP_INCLUDE_DIR, CLHEP_LIB_DIR
z the CLHEP library name is assumed to be: [lib]CLHEP[.a/.lib]
z A different name can be explicitly specified: CLHEP_LIB z Specify the graphics/UI drivers to install
z G4VIS_BUILD_
z G4UI_BUILD_
z the path to the related graphics/(G)UI packages, if required ConfiguringConfiguring thethe environment:environment: thethe manualmanual approachapproach forfor installationinstallation z Specify installation specific attributes
z G4DEBUG
z To build libraries including debug symbolic information
z By default, optimised mode is selected
z G4LIB_BUILD_SHARED
z To specify if to build kernel libraries as shared libraries
z Static archive libraries are built by default
z Adding also G4LIB_BUILD_STATIC will build both
z G4_NO_VERBOSE
z For better performance, verbosity code can be left out by defining this flag (i.e. no verbosity will be possible). The default is with verbosity on StartingStarting thethe installationinstallation z Choose the installation layout z Maximum granularity of libraries (granular libraries) z Ideal for developers and local installations z Link list of libraries automatically generated z Triggered with “gmake” from $G4INSTALL/source z Category compound libraries (global libraries) z Convenient for a centralized multi-users installation z Default for shared libraries builds z Triggered with “gmake global”from $G4INSTALL/source z Installing source header files z G4INCLUDE defines the installation path z Triggered by “gmake includes” from $G4INSTALL/source z Installing the hadronic physics-lists z Triggered by “gmake” from $G4INSTALL/hadronic_lists/lists z NOTE: Can only be built as static libraries if granular shared libraries are used ! ConfiguringConfiguring thethe environmentenvironment toto useuse Geant4Geant4 z Specify the working area: G4WORKDIR z If not, Geant4 assumes G4INSTALL as the working area z Products of application builds are placed in $G4WORKDIR z Binaries in $G4WORKDIR/bin z Object files and other temporary files in $G4WORKDIR/tmp z Specify which graphics drivers, (G)UI drivers you want to use from the current installation z G4VIS_USE_
z Source or integrate the shell script generated by Configure z Define the working area (G4WORKDIR) z Build any of the available examples: cp –r $G4INSTALL/examples $G4WORKDIR cd $G4WORKDIR/examples/novice/N01 gmake BuildingBuilding DLLsDLLs onon WindowsWindows z DLLs (Dynamic Link Libraries) on Windows can be built for global compound libraries only
z Using the Configure script
z Follow the steps till explicitly asked for
z Or manually with “make dll” from $G4INSTALL/source z Build any of the available examples by setting G4LIB_USE_DLL first in your environment z Add to PATH the path where libraries are installed and run your application, e.g.: export PATH=$PATH:/usr/local/geant4/lib/$G4SYSTEM IntegratingIntegrating Geant4Geant4 inin aa frameworkframework
z Consider Geant4 as an external software package z Well define its area of installation
z For global libraries and source header files z Choose an installation setup which best matches the project needs z Adopt or integrate a configuration script reflecting the current installation