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- |
Compatibility |
Explicit Linux x86-64, glibc, architecture, writable-prefix, and |
Native GRPP |
Pinned libgrpp is built and installed by default instead of relying on an untracked system library |
Python installation |
|
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
condaandmamba; Micromamba provides only themicromambacommand. The setup guide gives separate creation and activation blocks instead of treating the commands as aliases.The guide covers
noexechome directories, shared filesystems, unsupported architectures, old glibc versions, and source transfer when host Git is not available.mppt_env.yamlnow 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=ONis now the default. CMake uses an explicitly selected external shared library, a repository-local source tree, or the pinned upstream libgrpp commit.cmake --installwrites native libgrpp to$CONDA_PREFIX/liband installslibgrpppypluspyscf2mpptinto the same prefix.libgrpppydiscovers native libgrpp from the active Python prefix.LIBGRPP_ROOTremains an explicit override rather than a normal requirement.The unsupported top-level
libgrpp4pyscfimport fallback is removed. GRPP workflows use the installedlibgrpppy.libgrpp4pyscfpackage.CMAKE_INSTALL_LIBDIR=libkeeps the shared library and Python discovery contract stable across Linux distributions.oneMKL profiles use
MKL_THREADING_LAYER=GNUso 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 |
|
|
|
|
|
Caspy |
|
HEFFSO properties schema |
|
PRIMME |
|
Validation#
The exact
mppt_env.yamlresolves for Linux x86-64 with glibc 2.17.A full serial CMake build completes with native libgrpp enabled.
An isolated
cmake --installsmoke test importspyscf2mppt,libgrpppy.libgrpp, and the compiled_reorder_integralsextension, then initializes libgrpp withoutLIBGRPP_ROOT.All 341
pyscf2mppttests and all 30 compiled Unit tests pass.The branch pipeline completes the build and
test-lightjobs.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
bashdoes not make anoexecprefix 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.