Environment modules, installation scripts and container images for Geant4 — with seamless coexistence of multiple Geant4 versions.
This repository provides:
- Environment Modules + installation scripts for Geant4
- Multi-architecture Docker images (
amd64,arm64)
g4install is designed to let you:
- Install multiple Geant4 versions side-by-side
- Switch between versions quickly using
module load/module switch - Automatically install and load required dependencies (CLHEP, Xerces-C)
- Use an easy, consistent, shell independent environment
This is especially useful:
- one reliable command to install the latest or past Geant4 versions and its dependencies
- validating applications against different Geant4 releases (e.g.
11.3.xvs11.4.x)
Install Environment Modules:
- Linux: install
environment-modulesusing your package manager - macOS:
brew install modules
Here we use /path/to/g4install as an example.
git clone https://github.com/gemc/g4install
module use /path/to/g4installWe recommend adding the module use command to your
shell init script, like .bashrc or .cshrc.
You can now list supported Geant4 versions:
module avail geant4module load sim_system
install_geant4 11.4.1module load geant4/11.4.1One of the main features of g4install is the ability to keep multiple versions installed and switch between them without conflicts.
module load geant4/11.3.2
# build/test project A
module switch geant4/11.4.1
# build/test project BImages are built by CI and published to the G4Install GitHub Container Registry.
- Multi-arch tags (same tag works on Intel and Apple Silicon)
- Batch mode and GUI mode (VNC / noVNC)
- Includes Geant4 and ROOT
docker run --rm -it ghcr.io/gemc/g4install:11.4.1-ubuntu=24.04 bash -liVPORTS=(-p 6080:6080 -p 5900:5900)
VNC_PASS=(-e X11VNC_PASSWORD=change-me)
VNC_BIND=(-e VNC_BIND=0.0.0.0)
GEO_FLAGS=(-e GEOMETRY=1920x1200)
docker run --rm -it $VPORTS $VNC_BIND $VNC_PASS $GEO_FLAGS ghcr.io/gemc/g4install:11.4.1-ubuntu=24.04| OS | Container Registry | arm64 | amd64 |
|---|---|---|---|
| ubuntu 24.04 | ghcr.io/gemc/g4install:11.4.1-ubuntu-24.04 |
yes | yes |
| fedora 42 | ghcr.io/gemc/g4install:11.4.1-fedora-42 |
yes | yes |
| almalinux 9.4 | ghcr.io/gemc/g4install:11.4.1-almalinux-9.4 |
yes | yes |
| debian 13 | ghcr.io/gemc/g4install:11.4.1-debian-13 |
yes | yes |
| archlinux latest | ghcr.io/gemc/g4install:11.4.1-archlinux-latest |
no | yes |
Environment Modules is not installed or not initialized in the current shell.
- Install
environment-modules(Linux) ormodules(macOS/Homebrew) - Start a login shell or source your shell initialization files
Confirm the repository is added to the module search path:
```shell module use /path/to/g4install ```
Check current shell state:
```shell module list which geant4-config geant4-config --version ```
Reset env needed:
```shell module purge module use /path/to/g4install module load geant4/ ```