1015
Comment:
|
3024
add test commands
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
= !!! UNDER CONSTRUCTION !!! = | = Anaconda based Build, All Platforms = |
Line 3: | Line 3: |
= All platforms = The following instructions will work with cmake changes introduced in https://github.com/cryoem/eman2/pull/65. |
Note that even with a source build it may be difficult to get this working on systems with very old operating system installs. We normally try to support OS versions 6-7 years old. Please report any problems. |
Line 9: | Line 7: |
1. Download and install [[https://www.continuum.io/downloads | Anaconda2]] or [[https://conda.io/miniconda.html | Miniconda2]]. | 1. Download and install [[https://conda.io/miniconda.html | Miniconda2]] or [[https://www.continuum.io/downloads | Anaconda2]]. a. '''Miniconda2 (<30MB)''': Minimal installer that contains conda and Python. Ideal for cluster installations and if you need conda only for EMAN2. a. '''Anaconda2 (270-350 MB)''': Entire Anaconda distribution, open data science platform powered by Python. Includes packages like Jupyter, Spyder, Anaconda Navigator. |
Line 17: | Line 17: |
1. Optionally, activate an existing conda environment, e.g. `source activate eman-env`. | 1. Install dependencies. Follow only one of the steps below: a. This option installs EMAN2 dependencies into a conda environment. It requires running the second command in each shell before trying to run EMAN2/SPARX/SPHIRE commands. {{{ conda create -n eman-env eman-deps -c cryoem -c defaults -c conda-forge source activate eman-env }}} a. This option is easier, and doesn't use an environment. It will work with Miniconda, but will not work with Anaconda versions 4.2.0 (2016-09-28) and newer, because the bundled Qt version was upgraded from version 4 to 5. {{{ conda install eman-deps -c cryoem -c defaults -c conda-forge # Mac OSX conda install eman-deps=*=np18* -c cryoem -c defaults -c conda-forge # Linux }}} Listing the channels explicitly can be avoided by specifying them in $HOME/.condarc, see conda documentation for more details, https://conda.io/docs/using/index.html. |
Line 19: | Line 27: |
1. Install dependencies {{{ export MACOSX_DEPLOYMENT_TARGET=10.7 # Yosemite, El Capitan conda install eman-deps -c cryoem -c defaults -c conda-forge }}} 1. Out-of-source builds are recommended, so work in a directory outside of eman2 source. Note '''cmake''', not '''--( ccmake )--'''. {{{ |
1. Out-of-source builds are recommended, so work in a directory outside of eman2 source (this is a recommended practice in general, not EMAN2-specific). Note '''cmake''', not '''--( ccmake )--'''. CMake will automatically find the dependencies. If you want to change any of the CMake values, then use '''cmake-gui''' or '''ccmake'''. {{{ |
Line 28: | Line 31: |
make -j make install |
|
Line 31: | Line 32: |
== Windows == |
1. If conda is not found in PATH, set CONDA_ROOT to your conda environment directory. It could be the main installation or an environment. This step most likely will be needed only if you use '''cmake-gui'''. a. If you set CONDA_ROOT to an environment, make sure to delete any cmake variables that cmake already found, variables like EMAN_INSTALL_PREFIX, EMAN_PREFIX, *_LIBRARY or similar, *_INCLUDE_PATH or similar. a. Rerun cmake. 1. Continue with '''make'''. {{{ make -j # "make" should pick up the number of available processors, make -j4 # but you may specify the number if you like make install && make test make test-verbose # this will output more test details and may be helpful to identify failures }}} |
Anaconda based Build, All Platforms
Note that even with a source build it may be difficult to get this working on systems with very old operating system installs. We normally try to support OS versions 6-7 years old. Please report any problems.
Mac OS X, Linux
Download and install Miniconda2 or Anaconda2.
Miniconda2 (<30MB): Minimal installer that contains conda and Python. Ideal for cluster installations and if you need conda only for EMAN2.
Anaconda2 (270-350 MB): Entire Anaconda distribution, open data science platform powered by Python. Includes packages like Jupyter, Spyder, Anaconda Navigator.
Checkout EMAN2 code from GitHub:cryoem/eman2.
cd <some-path-to-keep-eman2-source> git clone https://github.com/cryoem/eman2.git
- Install dependencies. Follow only one of the steps below:
This option installs EMAN2 dependencies into a conda environment. It requires running the second command in each shell before trying to run EMAN2/SPARX/SPHIRE commands.
conda create -n eman-env eman-deps -c cryoem -c defaults -c conda-forge source activate eman-env
This option is easier, and doesn't use an environment. It will work with Miniconda, but will not work with Anaconda versions 4.2.0 (2016-09-28) and newer, because the bundled Qt version was upgraded from version 4 to 5.
conda install eman-deps -c cryoem -c defaults -c conda-forge # Mac OSX conda install eman-deps=*=np18* -c cryoem -c defaults -c conda-forge # Linux
Listing the channels explicitly can be avoided by specifying them in $HOME/.condarc, see conda documentation for more details, https://conda.io/docs/using/index.html.
Out-of-source builds are recommended, so work in a directory outside of eman2 source (this is a recommended practice in general, not EMAN2-specific). Note cmake, not ccmake . CMake will automatically find the dependencies. If you want to change any of the CMake values, then use cmake-gui or ccmake.
cd <build-directory> cmake <some-path-to-keep-eman2-source>
If conda is not found in PATH, set CONDA_ROOT to your conda environment directory. It could be the main installation or an environment. This step most likely will be needed only if you use cmake-gui.
- If you set CONDA_ROOT to an environment, make sure to delete any cmake variables that cmake already found, variables like EMAN_INSTALL_PREFIX, EMAN_PREFIX, *_LIBRARY or similar, *_INCLUDE_PATH or similar.
- Rerun cmake.
Continue with make.
make -j # "make" should pick up the number of available processors, make -j4 # but you may specify the number if you like make install && make test make test-verbose # this will output more test details and may be helpful to identify failures