Skip to content

Add interactive installation script and README#561

Open
cmargalejo wants to merge 10 commits into
masterfrom
cris_add_install_script
Open

Add interactive installation script and README#561
cmargalejo wants to merge 10 commits into
masterfrom
cris_add_install_script

Conversation

@cmargalejo

@cmargalejo cmargalejo commented Apr 7, 2026

Copy link
Copy Markdown
Member

cmargalejo Large: 774 Powered by Pull Request Badge

Summary

  • All-in-one guided installer for REST and its dependencies (ROOT 6.26.10, Geant4 11.0.3, Garfield++)
  • Three install modes: server install (pre-built deps) , full build from source and CVMFS install .
  • Interactive: asks the user for install directory, libraries, parallel jobs, etc.
  • Includes a README for the scripts/installation/ directory

Tested on Titan, Sultan and personal machine with WSL/Ubuntu.
Tested in NAF-IAXO using CVMFS install. It loads a CERN LCG view from /cvmfs (ROOT, Geant4, GSL, Garfield) and builds only REST on top.
Not yet tested in macOS (likely needs changes to package installation and possibly compiler flags).

@cmargalejo cmargalejo self-assigned this Apr 7, 2026
@cmargalejo cmargalejo requested a review from nkx111 as a code owner April 7, 2026 09:29
pre-commit-ci Bot and others added 9 commits April 7, 2026 09:30
Mode 3 loads a CERN LCG view from /cvmfs (ROOT/Geant4/GSL/Garfield) and
builds only REST on top -- tested on NAF-IAXO (RHEL9, LCG_109). Includes:
- Garfield shim for the CVMFS layout (lib64, no CMake config) + Heed include flag
- temporary patches for modern Garfield (ComponentBase->Component) and the
  restG4 C++20 Geant4 check (LCG ships C++20; REST builds fine with it)
- pull the restG4 package when Geant4 is enabled
- REST_HOME set to a writable path + warning when installing under AFS $HOME
- .bashrc setup that also ensures the login profile sources it (login shells, SSH)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Garfield's ROOT dictionary records its headers under "Include/Garfield/" (capital
I, old layout), but LCG installs them lowercase, so cling prints ~50 harmless
"Missing FileEntry" warnings at restRoot startup. Add a capital-Include symlink
to the Garfield shim and put it on ROOT_INCLUDE_PATH (in the Mode 3 .bashrc),
which makes the warnings go away. Verified on NAF-IAXO.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Restore --latest as the default submodule strategy (option 2 = pinned remains
  available, recommended if a latest build fails). Reverts the pinned default
  introduced during the Mode 3 merge, back to the PR's original intent.
- README: add the Mode 3 (CVMFS) section, note restG4 is pulled when Geant4 is
  enabled, the login-shell .bashrc sourcing, and CVMFS/RHEL9 under requirements.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Use "--clean" instead of "Pinned" for the framework-recorded submodule versions,
consistent with the pull-submodules.py --clean flag and the project's wording.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@cmargalejo

Copy link
Copy Markdown
Member Author

@JPorron @AlvaroEzq can you approve this PR with he REST installer?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants