LArSoft

Logo

Software for Liquid Argon time projection chambers

View My GitHub Profile

Overview page of LArSoft with SPACK

August 5, 2026

LArSoft is in the process of migrating from the Fermilab developed UPS packaging tool to the community developed and supported Spack packaging tool. The use of Spack as the LArSoft package manager is expected to provide greatly improved flexibility to the experiments in building their software stacks relative to the standard tools provided by the LArSoft team, and will reduce the effort required to support the LArSoft software stack, thereby freeing effort to work on other high priority tasks.

The new system provides the multi-product development tool (mpd), a Spack extension that allows users to develop CMake based packages in concert with Spack-provided external software. MPD offers a similar set of features as that of the UPS-based MRB tool.

Release mechanisms and procedures are well defined, and some experiments have nearly completed the migration process. Regular releases of LArSoft under Spack will begin during Q3 2026, independently of the migration status of the experiments. Migration team efforts are currently focused on updating the continuous integration system to work with Spack.

For additional details on release procedures and developing with Spack, see the presentations and “Plan for Standard Builds” document discussed at the Dec. 10, 2024 LArSoft Coordination Meeting, the Spack-at-FNAL git repository, and the Spack-MPD git repository. A quick-start guide for using MPD can be found on Developing LArSoft with Spack and MPD wiki page.

The interim solution

UPS will not be supported under AL9, and SL7 reach EOL on June 30, 2024. Consequently, until Spack is fully deployed, all LArSoft builds must be performed within SL7 containers. See the Developing LArSoft with Containers page for more information on how to do that.

Spack builds of LArSoft

Until regular builds begin, there are only a limited be a limited number of Spack-based LArSoft builds available for either SL7 or AL9.

As of this writing, most recent version of LArSoft built under Spack is v10_21_00_rc2. To set up under AL9:

To set up a working area for developing code against this release of LArSoft while minimizing the code that is re-built, we recommend following the instructions for Developing LArSoft with Spack and MPD.

The most recent v09 series release is v09.90.01. To set up on AL9:

Summary of Migration Plan to Spack