External Libraries

EMAN2 has lots of dependent libraries. To compile EMAN2 from source, you need install development packages for these external libraries. Depends on your Linux distribution, you can either install them by yum(Fedora, CentOS, RedHat), urpmi(Mandriva), yast(SuSE), synaptic/apt-get(Ubuntu). Or compile them form source code.

Here is a current list of dependencies (all can be obtained for free):

OpenGL

-

Required

You MUST have some version of OpenGL installed. On most modern machines this will already be installed, and hardware accelerated. Under Linux, make SURE you are using the appropriate proprietary driver

GLUT

-

Required

Standard OpenGL utility library, usually already installed. FreeGLUT or MesaGLUT are acceptable alternative

GSL

http://www.gnu.org/software/gsl/

Required

-

Qt4

ftp://ftp.qt.nokia.com/qt/source/

Required

Not required to compile, but required to use. Much better to just use a package manager to get it. If compiling yourself, use recent qt-everywhere-opensource-src.

Python2.x

http://www.python.org

Required

Not required to compile, but required to use. Use 2.5.x or 2.6.x. 3.x not supported at this time

NumPy

http://numpy.scipy.org/

Required

This is required to compile EMAN2, and often you need to locate the include file yourself in ccmake

PyQt4

http://www.riverbankcomputing.com

Required

Make sure the Qt you download is compatible with the PyQt you download. Building PyQt also requires Sip

matplotlib

http://matplotlib.sourceforge.net

Required

Not required to compile, but required to use. Used for all 2-D plotting

ipython

http://ipython.org/

Required

Not required to compile, but required for interactive shell e2.py

PyOpenGL

http://pyopengl.sourceforge.net/

Required

Not required to compile, but required for 3D image display of GUI

BerkelyDB

http://www.oracle.com/technology/products/berkeley-db/index.html

Required

Not required to compile, but required to use. Basis for most data storage during processing. Embedded, NOT relational database. Free

pybsddb/bsddb3

http://www.jcea.es/programacion/pybsddb.htm

Required

Not required to compile, but required to use. A version of this, called bsddb comes with Python. Do NOT use that one (generally out of date). This can be installed with easy_install in most cases

Boost

http://www.boost.org

Required

suggest 1.38 or higher

FFTW3

http://www.fftw.org

Recommended

If you need to use EMAN2 under the optional BSD license, you will need to use the built-in FFT instead of FFTW. Otherwise you definitely want this.

HDF5

http://www.hdfgroup.org

Recommended

While not strictly required to compile, this is the recommended data format for many purposes. Install it.

FTGL

http://sourceforge.net/projects/ftgl

Optional

You may lack some text display in image/volume display GUI widgets without this

libjpeg

http://sourceforge.net/projects/libjpeg/

Optional

If you have this, you will be able to convert images to this format for presentations, etc. NOT useful as a cryoEM data storage format

libpng

http://www.libpng.org/pub/png/libpng.html

Optional

This will permit you to read/write PNG format images. A better choice than JPEG for scientific data presentation in most cases (lossless)

libtiff

http://www.libtiff.org/

Optional

Support reading/writing 8/16 bit TIFFs. Almost a requirement, as most CCD cameras store in this format.

CUDA

http://www.nvidia.com

Optional

Experimental support for GPU processing is available as a compile-time option.

EMAN2/ExternalLibraries (last edited 2012-07-31 19:58:46 by gtang)