Skip to content

Commit

Permalink
installation
Browse files Browse the repository at this point in the history
  • Loading branch information
albertmena authored Oct 5, 2023
1 parent 1f7b75c commit fdc0f4d
Show file tree
Hide file tree
Showing 4 changed files with 74 additions and 0 deletions.
1 change: 1 addition & 0 deletions docs/Installation/Installation Scipion/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The recommended way for users (not developers) to install and use Xmipp is via the `Scipion framework`, where you can use Xmipp with other Cryo-EM-related software. Xmipp will be installed during Scipion installation (pay attention to the -noXmipp flag).
Empty file.
52 changes: 52 additions & 0 deletions docs/Installation/Requirements/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
Installation requirements
-------------------------

Supported OS
^^^^^^^^^^^^^

We have tested Xmipp compilation on the following operating systems:
- `Ubuntu 18.04 <https://github.com/I2PC/xmipp/wiki/Installing-Xmipp-on-Ubuntu-18.04>`_
- `Ubuntu 20.04 <https://github.com/I2PC/xmipp/wiki/Installing-Xmipp-on-Ubuntu-20.04>`_
- `Ubuntu 22.04 <https://github.com/I2PC/xmipp/wiki/Installing-Xmipp-on-Ubuntu-22.04>`_
- `Centos 7 <https://github.com/I2PC/xmipp/wiki/Installing-Xmipp-on-CentOS-7-9.2009>`_
Visit the OS wiki page for more details.

While compilation and execution might be possible on other systems, it might not be straightforward. If you encounter a problem, please refer to known and fixed `issues <https://github.com/I2PC/xmipp/issues?q=is%3Aissue>`_. Let us know if something is not working.

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 a C++17 compatible compiler. We recommend GCC with G++; we have good experience with GCC/G++-8.4; in any case, a version >= 8.4 is required. If you use GCC/G++-10.3 and CUDA=11 and experience issues, `please change the compiler version <https://github.com/NVIDIA/nccl/issues/494>`_. If you use GCC-11 and experience issues, `please visit this <https://github.com/I2PC/xmipp/issues/583>`_. For more details about the compilation process and installation of gcc, please visit `compiler <https://github.com/I2PC/xmipp/wiki/Compiler>`_.

Cmake
^^^^^

Xmipp requires Cmake 3.16 or above. To update it, please `visit <https://github.com/I2PC/xmipp/wiki/Cmake-update-and-install>`_.

Cuda
^^^^

Xmipp supports Cuda 8 through 11.7. CUDA is optional but highly recommended. We recommend you to use the newest version available for your operating system; though Cuda 10.2 has the widest support among other Scipion plugins. Pay attention to the `compiler - CUDA compatibility <https://gist.github.com/ax3l/9489132>`_.

To install CUDA for your operating system, follow the `official install guide <https://developer.nvidia.com/cuda-toolkit-archive>`_.

OpenCV
^^^^^^

OpenCV is used for some programs: movie_optical_alignment (with GPU support) and volume_homogenizer; however, it is not required. If you installed OpenCV via apt (``sudo apt install libopencv-dev``), it should be automatically picked up by the Xmipp script.

HDF5
^^^^

We sometimes see issues regarding the HDF5 dependency. Please visit the `HDF5 Troubleshooting wiki <https://github.com/I2PC/xmipp/wiki/HDF5-Troubleshooting>`_.

Full list of dependencies
^^^^^^^^^^^^^^^^^^^^^^^^^
21 changes: 21 additions & 0 deletions docs/Installation/Standlone installation/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
Standalone installation
-----------------------

Standalone installation of Xmipp is recommended for researchers and developers. This installation allows you to use Xmipp without Scipion; however, in the next section, it is explained how to link it with Scipion. The Xmipp script automatically downloads several dependencies and then creates a configuration file that contains paths and flags used during the compilation. Please refer to the `Xmipp configuration <https://github.com/I2PC/xmipp/wiki/Xmipp-configuration>`_ guide for more info.

Start by cloning the repository and then navigate to the right directory.

Refer to ``./xmipp --help`` for additional info on the compilation process and possible customizations.

Next is to compile Xmipp. There are two possibilities, and in both, you will be able to run Xmipp in Scipion (see `linking step <https://github.com/I2PC/xmipp/edit/agm_refactoring_readme/README.md#linking-xmipp-standalone-to-scipion>`_):
- Compile Xmipp by invoking the compilation script, which will take you through the rest of the process: ``./xmipp``. That way, you will install Xmipp with the dependencies and their versions that the environment you decide, or the default one.
- Compile Xmipp via Scipion environment ``scipion3 run ./xmipp``. That way, you will install Xmipp with the dependencies and their versions that Scipion decided.

It is important to highlight that this step only compiles Xmipp, but it does not link to Scipion. The linking to Scipion is explained in the next section.

Linking Xmipp standalone to Scipion
------------------------------------

Once the Standalone version has been installed, the user can link such installation to Scipion to have the possibility of using Xmipp inside Scipion. Linking with Scipion requires the repository of `scipion-em-xmipp`, which can be found in the folder `src/scipion-em-xmipp`. This repository contains the files that Scipion needs to execute Xmipp programs. However, it remains to link the Xmipp binaries with Scipion. To do that, we need Scipion installed (see `Scipion installation web page <https://scipion-em.github.io/docs/docs/scipion-modes/how-to-install.html#>`_) and just launch the next command to link the binaries:

where `scipion-em-xmipp` is the folder of the repository, it means `src/scipion-em-xmipp`. This command should work in most cases. However, if you do this and Scipion does not find Xmipp, please visit `Linking Xmipp to Scipion Troubleshooting <https://github.com/I2PC/xmipp/wiki/Linking-Xmipp-to-Scipion-Troubleshooting>`_.

0 comments on commit fdc0f4d

Please sign in to comment.