MPPT v0.2.0-rc.7#

Release candidate: this release makes a clean MPPT installation reproducible on Linux servers without administrator access and installs the native GRPP runtime together with its Python bindings.

Release date: 2026-09-04 Previous candidate: v0.2.0-rc.6

At a glance#

Area

What changed

Server setup

Miniforge-first, no-sudo installation with separate Conda, Mamba, and Micromamba commands

Compatibility

Explicit Linux x86-64, glibc, architecture, writable-prefix, and noexec boundaries

Native GRPP

Pinned libgrpp is built and installed by default instead of relying on an untracked system library

Python installation

cmake --install installs libgrpppy and pyscf2mppt into the same prefix as native libgrpp

Build profiles

Canonical and component-only builds no longer mix installation side effects or OpenMP runtimes

Install on a server without sudo#

  • Miniforge is the recommended manager and supports the supplied environment on Linux x86-64 systems with glibc 2.17 or newer.

  • Miniforge provides both conda and mamba; Micromamba provides only the micromamba command. The setup guide gives separate creation and activation blocks instead of treating the commands as aliases.

  • The guide covers noexec home directories, shared filesystems, unsupported architectures, old glibc versions, and source transfer when host Git is not available.

  • mppt_env.yaml now includes Git and Make for CMake dependencies, filelock for managed runs, and pytest for the documented verification path.

Start with the environment-manager setup, then follow the MPPT installation.

Use one native and Python prefix#

  • WITH_LIBGRPP=ON is now the default. CMake uses an explicitly selected external shared library, a repository-local source tree, or the pinned upstream libgrpp commit.

  • cmake --install writes native libgrpp to $CONDA_PREFIX/lib and installs libgrpppy plus pyscf2mppt into the same prefix.

  • libgrpppy discovers native libgrpp from the active Python prefix. LIBGRPP_ROOT remains an explicit override rather than a normal requirement.

  • The unsupported top-level libgrpp4pyscf import fallback is removed. GRPP workflows use the installed libgrpppy.libgrpp4pyscf package.

  • CMAKE_INSTALL_LIBDIR=lib keeps the shared library and Python discovery contract stable across Linux distributions.

  • oneMKL profiles use MKL_THREADING_LAYER=GNU so they share the GNU OpenMP runtime used by the Fortran build.

Action required#

Update or recreate the mppt environment from the release file. The canonical Conda update path is:

conda env update --file mppt_env.yaml
conda activate mppt

Mamba and Micromamba users must use the matching commands in the environment-manager setup.

Reconfigure from a fresh CMake cache because the libgrpp and installation defaults changed:

export CC="$CONDA_PREFIX/bin/x86_64-conda-linux-gnu-gcc"
export CXX="$CONDA_PREFIX/bin/x86_64-conda-linux-gnu-g++"
export FC="$CONDA_PREFIX/bin/x86_64-conda-linux-gnu-gfortran"

cmake --fresh -S . -B build \
  -UBLAS_LIBRARIES \
  -ULAPACK_LIBRARIES \
  -DCMAKE_BUILD_TYPE=Release \
  -DCMAKE_PREFIX_PATH="$CONDA_PREFIX" \
  -DCMAKE_INSTALL_PREFIX="$CONDA_PREFIX" \
  -DCMAKE_INSTALL_LIBDIR=lib \
  -DHDF5_ROOT="$CONDA_PREFIX" \
  -DOpenMP_gomp_LIBRARY="$CONDA_PREFIX/lib/libgomp.so.1" \
  -DMPPT_ENABLE_CIPSIXX=ON \
  -DMPPT_COPY_TO_HOME_BIN=ON \
  -DMPPT_HOME_BIN_DIR="$CONDA_PREFIX/bin" \
  -DINSTALL_PYSCF2MPPT=ON \
  -DWITH_LIBGRPP=ON
cmake --build build --parallel 1
cmake --install build

Do not replace the install step with a direct pip install ./pyscf2mppt; that omits the native libgrpp and bundled libgrpppy installation contract. Caspy remains optional and is installed separately when managed HEFFSO reports are needed:

python -m pip install --no-cache-dir ./caspy

Component versions#

Component

Version

MPPT release

v0.2.0-rc.7

pyscf2mppt

0.5.1

libgrpppy

0.1.1

Caspy

0.4.0

HEFFSO properties schema

3

PRIMME

3.2.3

Validation#

  • The exact mppt_env.yaml resolves for Linux x86-64 with glibc 2.17.

  • A full serial CMake build completes with native libgrpp enabled.

  • An isolated cmake --install smoke test imports pyscf2mppt, libgrpppy.libgrpp, and the compiled _reorder_integrals extension, then initializes libgrpp without LIBGRPP_ROOT.

  • All 341 pyscf2mppt tests and all 30 compiled Unit tests pass.

  • The branch pipeline completes the build and test-light jobs.

  • The hosted documentation builds with Sphinx warnings treated as errors.

Known limitations#

  • The supplied environment and compiler-wrapper commands target Linux x86-64 with glibc 2.17 or newer. Other architectures need a separately validated environment.

  • The final environment prefix must permit executable files. Running an installer through bash does not make a noexec prefix usable.

  • Initial CMake configuration needs outbound HTTPS access for pinned source dependencies unless those sources are already available locally.

  • The installation smoke test verifies native-library discovery and initialization. A full scientific GRPP integration calculation remains outside this release’s acceptance evidence.

  • Publisher DOI sites can reject automated link checks with HTTP 403 even when the corresponding internal documentation links are valid.