Requirements

Supported OS

We have tested Xmipp compilation on the following operating systems: Ubuntu 20.04, 22.04 and 24.04 and Centos 7. While compilation and execution might be possible on other systems, it might not be straightforward.

Hardware requirements

At least 2 processors are required to run Xmipp. In some virtual machine tools only one is assigned, please check that at least two processors are assigned to the virtual machine.

Software dependencies

Compiler

Xmipp requires C++17 compatible compiler (see table below for minimum versions). We have had good experience with using GCC. Clang is mostly untested. Mind that when compiling with CUDA, a compatible compiler must be installed and findable (although it may not be used for non-CUDA sources) for Xmipp.

Compiler

Minimum Version

GCC

8.4

Clang

5.0

Cuda

CUDA is optional but highly recommended. By default Xmippp will search your CUDA installation. Xmipp supports Cuda 11.0 through 12.6. We recommend you to use the newest version available for your operating system. Pay attention to the compiler - CUDA compatibility.

Note

As of may 2025, we have officially dropped support for CUDA 10.2. Please make sure to upgrade to a supported CUDA version (11.0 or higher) to ensure compatibility.

To install CUDA for your operating system, follow the official install guide.

Warning

CUDA 11.5 is not compatible with GCC - 9, please change one of these.

OpenMPI

OpenMPI is required for parallel execution of certain Xmipp programs. It provides support for distributed computing across multiple CPUs and nodes using the Message Passing Interface (MPI).

We recommend installing OpenMPI 3.1 or higher to ensure compatibility with all Xmipp functionalities.

Package

Minimum Version

OpenMPI

3.1

Note

On Ubuntu-based systems, you can install OpenMPI development files with:

sudo apt install libopenmpi-dev

On RHEL/CentOS-based systems, use:

yum install openmpi-devel

Full list of dependencies

Before installing Xmipp, you need to ensure your system meets certain requirements. Below is a list of required packages and dependencies.

Manually Required Dependencies

The following system-level packages must be installed manually, as they are not handled by the Xmipp installer:

  • GCC: C compiler

  • G++: C++ compiler

  • OpenMPI development libraries

On Ubuntu-based systems, you can install them using:

sudo apt install -y gcc g++ libopenmpi-dev

On YUM-based systems (e.g., CentOS, RHEL), use:

Note

On CentOS 7, the default GCC version is not compatible with Xmipp. You can enable a newer GCC version using:

yum install centos-release-scl
yum install devtoolset-10
scl enable devtoolset-10 bash

Then, install the dependencies:

yum install gcc gcc-c++ openmpi-devel

Dependencies Automatically Installed via Scipion

Note

The following explanations are available on devel and as of Xmipp 3.25.06.0 - Rhea

If Xmipp is installed through Scipion with the plugin manager or with the terminal , the following packages will be automatically installed in the Scipion environment by default:

  • cmake>=3.18,<4

  • hdf5>=1.18

  • sqlite>=3

  • fftw>=3

  • make

  • zlib

  • openjdk

  • libtiff

  • libstdcxx-ng

  • libjpeg-turbo

Note

This automatic installation is enabled by default. To disable it, set default=False in this file For a manual installation of the dependencies, please conside that Xmipp requires CMake 3.17 or above. Ubuntu 20.04 only supports CMake 3.16.3.

These requirements will ensure that your system is ready for installing and using Xmipp. If you encounter a problem, please refer to known and fixed issues. Let us know if something is not working.