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

  1. Download and install Anaconda2 or Miniconda2.

  2. Checkout EMAN2 code from GitHub:cryoem/eman2.

    cd <some-path-to-keep-eman2-source>
    git clone https://github.com/cryoem/eman2.git
  3. Install dependencies. Follow only one of the steps below:
    1. This option installs Anaconda and sets up a specific environment for EMAN2. 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
    2. This option is easier, and doesn't use an environment, but may be broken (July 2017) due to recent Qt changes in Anaconda

      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.

  4. 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>
  5. If conda is not found in PATH, set CONDA_ROOT to your conda environment directory. It could be the main installation or an environment.
  6. 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.
  7. Rerun cmake and continue with make.

    cmake <some-path-to-keep-eman2-source>
    make -j           # "make" should pick up the number of available processors,
    make -j4          # but you may specify the number if you like
    make install