Hi Dave (and others),
I tried installing AmberTools26 today (on a different hardware than last time) but this error (conda fails rolling back, broken environment) is still popping up. I did try running line-by-line separately (outside cmake) and it works fine, so it's probably some environment variable inside `UseMiniconda.cmake` that is failing on conda 26.X.X. I made a patch dropping the conda version to 25.11.1, which worked. Hopefully this will help someone!
Here's the patch.
```
diff --git a/build/run_cmake b/build/run_cmake
index 147b3e6..d66cae0 100755
--- a/build/run_cmake
+++ b/build/run_cmake
.. -41,8 +41,8 @@ else
cmake $AMBER_PREFIX/ambertools26_src -Wno-dev \
-DCMAKE_INSTALL_PREFIX=$AMBER_PREFIX/ambertools26 \
-DCOMPILER=GNU \
-DMPI=FALSE -DCUDA=FALSE -DINSTALL_TESTS=TRUE \
- -DDOWNLOAD_MINICONDA=TRUE \
+ -DDOWNLOAD_MINICONDA=TRUE -DMINICONDA_VERSION=25.11.1 \
2>&1 | tee cmake.log
fi
diff --git a/cmake/UseMiniconda.cmake b/cmake/UseMiniconda.cmake
index 8d9b757..9007acc 100644
--- a/cmake/UseMiniconda.cmake
+++ b/cmake/UseMiniconda.cmake
.. -103,7 +103,7 @@ function(download_and_use_miniconda)
# location to download the installer to
set(MINICONDA_INSTALLER ${MINICONDA_DOWNLOAD_DIR}/${MINICONDA_INSTALLER_FILENAME})
- set(INSTALLER_URL "
https://github.com/conda-forge/miniforge/releases/latest/download/${MINICONDA_INSTALLER_FILENAME}")
+ set(INSTALLER_URL "
https://github.com/conda-forge/miniforge/releases/download/25.11.0-1/${MINICONDA_INSTALLER_FILENAME}")
# If we've already downloaded the installer, use it. if(EXISTS "${MINICONDA_INSTALLER}")
.. -161,12 +161,12 .. function(download_and_use_miniconda)
if(MINICONDA_AUTO)
execute_process(COMMAND ${CONDA} update conda -y)
endif()
- execute_process(COMMAND ${CONDA} install -y python=3.12)
+ execute_process(COMMAND ${CONDA} install -y python=3.12 conda=${MINICONDA_VERSION})
execute_process(COMMAND ${MINICONDA_PYTHON} -m pip install pip --upgrade)
execute_process(COMMAND ${MINICONDA_PYTHON} -m pip install --no-cache-dir --no-binary=mpi4py mpi4py)
- execute_process(COMMAND ${CONDA} install -y -c conda-forge nomkl f90nml mrcfile pdb2pqr pandas numba gemmi rdkit conda-build numpy=1.26.4 scipy ipython notebook pytest mock biopython rich freesasa scikit-learn sympy pydantic psutil networkx RESULT_VARIABLE PACKAGE_INSTALL_RETVAL)
+ execute_process(COMMAND ${CONDA} install -y -c conda-forge nomkl f90nml mrcfile pdb2pqr pandas numba gemmi rdkit conda-build numpy=1.26.4 scipy ipython notebook pytest mock biopython rich freesasa scikit-learn sympy pydantic psutil networkx conda=${MINICONDA_VERSION} RESULT_VARIABLE PACKAGE_INSTALL_RETVAL)
if(NOT ${PACKAGE_INSTALL_RETVAL} EQUAL 0)
message(FATAL_ERROR "Installation of packages failed! Please fix what's wrong, or disable Miniconda.")
.. -178,7 +178,7 @@ function(download_and_use_miniconda)
execute_process(COMMAND ${MINICONDA_PYTHON} -m pip --cache-dir=${MINICONDA_INSTALL_DIR}/pkgs install matplotlib RESULT_VARIABLE MATPLOTLIB_RETVAL)
if(NOT ${MATPLOTLIB_RETVAL} EQUAL 0)
# try again with conda
- execute_process(COMMAND ${CONDA} install -y -q matplotlib RESULT_VARIABLE MATPLOTLIB_RETVAL)
+ execute_process(COMMAND ${CONDA} install -y -q matplotlib conda=${MINICONDA_VERSION} RESULT_VARIABLE MATPLOTLIB_RETVAL)
if(NOT ${MATPLOTLIB_RETVAL} EQUAL 0)
message(FATAL_ERROR "Failed to install matplotlib! Please fix what's wrong, or disable Miniconda.")
endif()
```
Best,
Jeremy L.
---
Jeremy M. G. Leung, PhD
Research Assistant Professor, Chemistry (Chong Lab)
University of Pittsburgh | 219 Parkman Avenue, Pittsburgh, PA 15260
jml230.pitt.edu | [He, Him, His]
> On Feb 3, 2026, at 6:43 PM, Leung, Jeremy via AMBER <amber.ambermd.org> wrote:
>
> Hi Amber community,
>
> I was helping someone install Ambertools25 today and found that the miniforge installation will always fail while attempting to install `f90nml mrcfile pdb2pqr`, with the error below.
>
> I believe it's a problem with conda 26.1.0 released on January 30th, 2026, which apparently crashes the install at some point, causing the base environment to corrupt. To circumvent it, you need to pin conda=25.11.1 in every instance of `conda install`in `cmake/UseMiniconda.cmake` file to make sure 26.1.0 does not install.
>
> I included a patch file below for anyone that gravely needs to get ambertools25 installed, but it should hopefully resolve itself once (when) conda fixes the bugs. You will also need to use the `-DMINICONDA_VERSION=25.11.1` flag in `run_cmake` to prevent conda from updating itself earlier on in the process.
>
> Hope this helps!
>
> Best,
>
> Jeremy L.
>
> ---
> Jeremy M. G. Leung, PhD
> Research Assistant Professor, Chemistry (Chong Lab)
> University of Pittsburgh | 219 Parkman Avenue, Pittsburgh, PA 15260
> jml230.pitt.edu<mailto:jml230.pitt.edu> | [He, Him, His]
>
>
> Error
> ```
> Executing transaction: done
> Rolling back transaction: done
>
> TypeError('expected str, bytes or os.PathLike object, not NoneType')
> ()
>
>
> NoBaseEnvironmentError: This conda installation has no default base environment. Use
> 'conda create' to create new environments and 'conda activate' to
> activate environments.
>
>
>
> NoBaseEnvironmentError: This conda installation has no default base environment. Use
> 'conda create' to create new environments and 'conda activate' to
> activate environments.
>
>
> CMake Error at cmake/UseMiniconda.cmake:177 (message):
> Installation of packages failed! Please fix what's wrong, or disable
> Miniconda.
> Call Stack (most recent call first):
> cmake/PythonInterpreterConfig.cmake:72 (download_and_use_miniconda)
> CMakeLists.txt:129 (include)
>
>
> -- Configuring incomplete, errors occurred!
>
> If errors are reported, search for 'CMake Error' in the cmake.log file.
> ```
>
>
> Patch
> ```
> diff --git a/UseMiniconda.cmake b/UseMiniconda.cmake
> index 519be3b..c1c6144 100644
> --- a/UseMiniconda.cmake
> +++ b/UseMiniconda.cmake
> .. -166,25 +166,25 .. function(download_and_use_miniconda)
> # different MKL libraries at the same time: the MKL Miniconda python was linked with, and the MKL
> # Amber was linked with.
> # So, to fix this, we make sure Miniconda is not using MKL.
> - execute_process(COMMAND ${CONDA} install -y nomkl)
> + execute_process(COMMAND ${CONDA} install -y nomkl conda=25.11.1)
>
> - execute_process(COMMAND ${CONDA} install -y -c conda-forge f90nml mrcfile pdb2pqr)
> - execute_process(COMMAND ${CONDA} install -y pandas)
> + execute_process(COMMAND ${CONDA} install -y -c conda-forge f90nml mrcfile pdb2pqr conda=25.11.1)
> + execute_process(COMMAND ${CONDA} install -y pandas conda=25.11.1)
>
> - execute_process(COMMAND ${CONDA} install -y -q conda-build numpy=1.26.4 scipy cython=0.29 ipython notebook pytest mock
> - RESULT_VARIABLE PACKAGE_INSTALL_RETVAL)
> + execute_process(COMMAND ${CONDA} install -y -q conda-build numpy=1.26.4 scipy cython=0.29 ipython notebook pytest mock conda=25.11.1
> + RESULT_VARIABLE PACKAGE_INSTALL_RETVAL)
> if(NOT ${PACKAGE_INSTALL_RETVAL} EQUAL 0)
> message(FATAL_ERROR "Installation of packages failed! Please fix what's wrong, or disable Miniconda.")
> endif()
> - execute_process(COMMAND ${CONDA} install -y -c conda-forge rdkit)
> + execute_process(COMMAND ${CONDA} install -y -c conda-forge rdkit conda=25.11.1)
>
> # Use pip to install matplotlib so we don't have to pull in the entire Qt
> # dependency. And cache inside the Miniconda directory, since we don't want to
> # be writing outside $AMBERHOME unless specifically requested to
> - execute_process(COMMAND ${MINICONDA_PYTHON} -m pip --cache-dir=${MINICONDA_INSTALL_DIR}/pkgs install matplotlib RESULT_VARIABLE MATPLOTLIB_RETVAL)
> + execute_process(COMMAND ${MINICONDA_PYTHON} -m pip --cache-dir=${MINICONDA_INSTALL_DIR}/pkgs install matplotlib conda=25.11.1 RESULT_VARIABLE MATPLOTLIB_RETVAL)
> if(NOT ${MATPLOTLIB_RETVAL} EQUAL 0)
> # try again with conda
> - execute_process(COMMAND ${CONDA} install -y -q matplotlib RESULT_VARIABLE MATPLOTLIB_RETVAL)
> + execute_process(COMMAND ${CONDA} install -y -q matplotlib conda=25.11.1 RESULT_VARIABLE MATPLOTLIB_RETVAL)
> if(NOT ${MATPLOTLIB_RETVAL} EQUAL 0)
> message(FATAL_ERROR "Failed to install matplotlib! Please fix what's wrong, or disable Miniconda.")
> endif()
> ```
> _______________________________________________
> AMBER mailing list
> AMBER.ambermd.org
> http://lists.ambermd.org/mailman/listinfo/amber
_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Thu Apr 30 2026 - 12:30:02 PDT