Differences between revisions 9 and 49 (spanning 40 versions)
Revision 9 as of 2008-06-13 16:33:36
Size: 1951
Editor: gtang
Comment:
Revision 49 as of 2014-02-12 05:01:29
Size: 9687
Editor: SteveLudtke
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= Mac OS X =
Currently, only 10.5 is supported for EMAN2 nightly builds.
= All platforms =
Line 4: Line 3:
Visit the EMAN2 nightly page and download the disk image .dmg package. It includes an EMAN2 directory and a set of installation instructions in INSTALL.txt. The instructions contain a few simple steps to get the EMAN2 build up and running on your machine. '''Note for International use''' - We lack sufficient manpower at present for any real internationalization support. In particular some users have reported problems with the use of ',' rather than '.' in numbers. The only known solution at present is to set English to your language.
Line 6: Line 5:
= Linux =
Note: In the following installation instruction, "/home/gtang" is my home directory. You should see your home directory name on your computer.
EMAN2 provide two nightly builds for Linux: eman2.nightly.linux.tar.bz2 is for 32 bit Linux (i386). eman2.nightly.linux64.tar.bz2 is for 64 bit Linux (x86_64). To install this binary release, for example, on 64 bit Linux: download eman2.nightly.linux64.tar.bz2 to your home directory.
== Testing ==
'''After''' installing on any of the systems below, you should test to make sure it's working. While we have unit testing, it is mainly for developers. Instead, we suggest just running the following 4 basic tests:

 * e2version.py (make sure the displayed version is what you expect, including the timestamp. If you have any problems we need you to include the output from this command in your message)
 * e2speedtest.py (will also give you the relative speed to expect from your machine)
 * e2workflow.py (if the GUI pops up, it's working)
 * e2proc2d.py anyimagefile bdb:test (anyimagefile is any 2d image or stack supported by eman2, this will make sure the database works)

== Mac OS X ==
Mac OS X 10.7 - 10.8 are supported for EMAN2 nightly builds (10.6 is only supported in older, pre 2.1 releases). Download the appropriate dmg from the nightly build page, copy "EMAN2" to your "/Applications" folder. Instructions on loading the environment variable init script are included in the README.txt file included in the disk image.

There is also a [[EMAN2/Install/BinaryInstall_OSXVisualGuide|visual installation guide]] that explains the process with screenshots.

== Linux ==
In the following installation instruction, we assume you are installing EMAN2 in your home directory (no root privileges required), it can also be installed system-wide, in which case each user needs to source the eman2.bashrc file.

There are 2 Linux binaries:
 * eman2.daily.linux64.tar.gz - 64 bit binary
 * eman2.daily.linux.tar.gz - 32 bit binary (for very old computers, or those with 32 bit linux. Not recommended)

If you are upgrading from a previous version of EMAN2, please rename or completely remove the old EMAN2 directory before installing the new version. Unpacking the new version on top of an older version can sometimes cause problems. It is critical that you re-run the installer after unpacking the new version, and insure that your .bashrc or other login file is updated. This is the suggested sequence:
Line 11: Line 28:
$tar xvjf eman2.nightly.linux64.tar.bz2
$cd EMAN2
$./eman2-installer
Which Python version you want to choose:
1 - Python 2.5 UCS4
2 - Python 2.5 UCS2
3 - Python 2.4 UCS4
4 - Pyhton 2.4 UCS2
5 - Pyhton 2.3 UCS4
6 - Python 2.3 UCS2
[Default is 1 (Pyhton 2.5 UCS4)]

(make your choice here, or type enter for default)}}}
Then you will see at the end of the output:
rm -rf EMAN2.old
mv EMAN2 EMAN2.old
tar xvjf eman2.daily.linux64.tar.gz
cd EMAN2
./eman2-installer
}}}
When the installer is done (takes only a few seconds), it will display an instruction to add eman2.bashrc to your login script (or similar, depending on what shell you use).

If you are familiar with Linux, this instruction should be clear. Just make sure you open a new terminal window to test the installation.

'''If you are a Linux novice''', you need to understand that there are several different 'shells' you can use within your terminal window. The 'shell' is what provides the terminal prompt and what interprets the commands you type. Why there are different ones is a long story, but the default shell for most linux installations is called BASH. Every time you open a new terminal window or log in to the computer with something like SSH, the shell initializes itself by reading a file called .bashrc. EMAN2 has some additions to this file to tell the shell where you installed it, so it can find all of the e2* commands when you run them. You also need to know that on Linux, files starting with '.' are considered hidden files, so if you do an 'ls' you won't see this file, and it may be hidden in your file browser. If you do an 'ls -al', you will see the hidden files too. An easy way to add a line of text to a file, is to (replace text with the line you need to add):
{{{
cd
echo text >>.bashrc
}}}

This completes the installation. Follow the testing instructions above. If there are problems, please use [[https://groups.google.com/forum/?hl=en#!forum/eman2|EMAN2 Google Group]]. If you cannot use the Google Group for some reason, please feel free to email sludtke@bcm.edu.

Additional tips:
 * '''If you are also using EMAN1''', you should put the EMAN2 'source' after the EMAN1 'source' in your .bashrc file.
 * '''Ubuntu users''': A package called 'freeglut' is not always installed on Ubuntu machines, and may be required for 2-D plots (such as interactive CTF tuning). If you see blank windows when you expect to see plots, please use the package manager to install freeglut.
 * '''For SUSE users''' and users of some other KDE based platforms which refuse to work properly after installing EMAN2. EMAN2 ships with its own copy of the Qt libraries. If your distribution uses EXACTLY the same version of Qt that we provide, there may be a conflict which prevents KDE from working. Despite the version numbers being the same, Qt can be compiled with many different options, and if the options we used don't exactly match the options your OS used, then the EMAN2 libraries will conflict. There are two possible ways to resolve this: 1) remove all of the Qt libraries from EMAN2/extlib, which will force EMAN2 to use the system libraries (there is a chance that EMAN2 will not work with the system libraries). 2) Remove the EMAN2 bashrc file from your .bashrc file, and when you want to use EMAN2, set up an alias to source the bashrc from the shell you want to run EMAN2 from. This will make it so only those shells will use EMAN2's libraries, and it won't interfere with the rest of your system.
 * EMAN2 on Linux ships with its own Python interpreter, which will be used for all e2* and sx* programs. However, if you run 'python' you will use your system default python interpreter, not the one that ships with EMAN2. If you wish to write your own EMAN2 python scripts, you need to copy the first line from e2speedtest.py and put it in your python script so the correct interpreter is used.

== Windows ==
 * If you have installed previous version of EMAN2. Please uninstall it and remove a directory called c:\tmp\eman2db-***.
 * If you plan to install both EMAN1 and EMAN2, EMAN1 must be installed FIRST.
 * For windows(XP/Vista/7 32/64), EMAN2 comes with it's own Python2.7, with preinstalled site-packages like PyQt4, PyOpenGL etc., So if you have your own Python installed, you may need uninstall it IF there is a conflict.
 * After installation, you can open a command prompt and type e2.py.
  * If you get error like:
   . {{{
ImportError: DLL load failed: The application has failed to start because its side-by-side configuration is incorrect.
}}}
   {{{
ImportError: DLL load failed: This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem.
}}}
   please install Visual C++ 2008 Redistributable downloaded from Microsoft or from here [[attachment:vcredist_x86.exe|Download Visual C++ 2008 redistributable runtime library here]]..
  * If you get a python prompt successfully, try typing 'display(test_image())'. You should see an s-shaped image appear on the screen. If so, EMAN2 is working.
 * If you double click on one of the icons, and the application doesn't open properly, please try running it from the command-line instead. This will give better error information.
 * EMAN2 uses PyQt4 as GUI toolkit. It has conflict with Matlab R2007b, you need uninstall Matlab or install it in a different account, i.e. not system wide install.
 * Windows user please ignore this warning message, "WARNING: Using the out of date 'bsddb' module instead of bsddb3. Consider installing newer berkeleydb and bsddb3."
 * EMAN2 may still have problems on specific windows machines. If you run into any, please report them to sludtke@bcm.edu
 * There may be conflicts with EMAN2 and other software packages which also use python. On Linux/Mac, there are mechanisms for dealing with this, but windows lacks this. Most problems with Windows installations relate to conflicts with other software.

== Environement Variable Setting For EMAN2 (All platforms) ==
In some rare cases, the EMAN2 installer will not be able to update your environment variables properly. In such cases, we need set up environment variables like PATH, LD_LIBRARY_PATH and PYTHONPATH for EMAN2 to work correctly.
These environment variables should be automatically set when you run eman-installer script when you install binary EMAN release.

 * For sh/bash like shells on Linux/UNIX system (suppose you install EMAN2 under your home directory):
Line 27: Line 79:
Please add the following line to the end of your /home/gtang/.bashrc
source /home/gtang/EMAN2/eman2.bashrc}}}
This eman2.bashrc just provide some environment variables for EMAN2 and sparx. You can either add the source line to your .bashrc, or copy all the environment variable setting into your.bashrc file. Note: if you are using some kind of c shell, you will see the eman2.chsrc file. The binary EMAN2 use the Python interpreter comes with EMAN2. The eman2-installer will automatically change python interpreter in python files in EMAN2 to (for my installation):
export EMAN2DIR=${HOME}/EMAN2
export PATH=${PATH}:${EMAN2DIR}/bin
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${EMAN2DIR}/lib
export PYTHONPATH=${PYTHON_PATH}:${EMAN2DIR}/lib
}}}
Line 31: Line 85:
{{{#!/home/gtang/EMAN2/python/Python-2.5.1-ucs4/bin/python}}}  * For csh/tcsh like shell on Linux/UNIX system (suppose you install EMAN under your home directory):
Line 33: Line 87:
So, you need run this python interpreter for EMAN2. Or if you write script for EMAN2, you need add that line to the beginning of your script. {{{
setenv EMAN2DIR ${HOME}/EMAN2
setenv PATH ${PATH}:${EMAN2DIR}/bin
setenv LD_LIBRARY_PATH ${EMAN2DIR}/lib #setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${EMAN2DIR}/lib if you have LD_LIBRARY_PATH set
setenv PYTHONPATH ${EMAN2DIR}/lib #setenv PYTHONPATH ${PYTHONPATH}:${EMAN2DIR}/lib if you have PYTHONPATH set
}}}
 * For windows users (suppose you install EMAN2 under C:\):

{{{
right click "my computer"->properties->Advanced->Environment Variables
in "system variables"edit the "path" entry, and add:
C:\EMAN2\bin;C:\EMAN2\lib;C:\EMAN2\python\Python27;C:\EMAN2\python\Python27\Lib\site-packages\PyQt4\bin.

Create a new system variable PYTHONPATH, add:
C:\EMAN2\lib;C:\EMAN2\bin.
(note: In the example I suppose you installed EMAN2 into C:\ directory, change it accordingly if you install EMAN2 in other directory.)
}}}

All platforms

Note for International use - We lack sufficient manpower at present for any real internationalization support. In particular some users have reported problems with the use of ',' rather than '.' in numbers. The only known solution at present is to set English to your language.

Testing

After installing on any of the systems below, you should test to make sure it's working. While we have unit testing, it is mainly for developers. Instead, we suggest just running the following 4 basic tests:

  • e2version.py (make sure the displayed version is what you expect, including the timestamp. If you have any problems we need you to include the output from this command in your message)
  • e2speedtest.py (will also give you the relative speed to expect from your machine)
  • e2workflow.py (if the GUI pops up, it's working)
  • e2proc2d.py anyimagefile bdb:test (anyimagefile is any 2d image or stack supported by eman2, this will make sure the database works)

Mac OS X

Mac OS X 10.7 - 10.8 are supported for EMAN2 nightly builds (10.6 is only supported in older, pre 2.1 releases). Download the appropriate dmg from the nightly build page, copy "EMAN2" to your "/Applications" folder. Instructions on loading the environment variable init script are included in the README.txt file included in the disk image.

There is also a visual installation guide that explains the process with screenshots.

Linux

In the following installation instruction, we assume you are installing EMAN2 in your home directory (no root privileges required), it can also be installed system-wide, in which case each user needs to source the eman2.bashrc file.

There are 2 Linux binaries:

  • eman2.daily.linux64.tar.gz - 64 bit binary
  • eman2.daily.linux.tar.gz - 32 bit binary (for very old computers, or those with 32 bit linux. Not recommended)

If you are upgrading from a previous version of EMAN2, please rename or completely remove the old EMAN2 directory before installing the new version. Unpacking the new version on top of an older version can sometimes cause problems. It is critical that you re-run the installer after unpacking the new version, and insure that your .bashrc or other login file is updated. This is the suggested sequence:

rm -rf EMAN2.old
mv EMAN2 EMAN2.old
tar xvjf eman2.daily.linux64.tar.gz
cd EMAN2
./eman2-installer

When the installer is done (takes only a few seconds), it will display an instruction to add eman2.bashrc to your login script (or similar, depending on what shell you use).

If you are familiar with Linux, this instruction should be clear. Just make sure you open a new terminal window to test the installation.

If you are a Linux novice, you need to understand that there are several different 'shells' you can use within your terminal window. The 'shell' is what provides the terminal prompt and what interprets the commands you type. Why there are different ones is a long story, but the default shell for most linux installations is called BASH. Every time you open a new terminal window or log in to the computer with something like SSH, the shell initializes itself by reading a file called .bashrc. EMAN2 has some additions to this file to tell the shell where you installed it, so it can find all of the e2* commands when you run them. You also need to know that on Linux, files starting with '.' are considered hidden files, so if you do an 'ls' you won't see this file, and it may be hidden in your file browser. If you do an 'ls -al', you will see the hidden files too. An easy way to add a line of text to a file, is to (replace text with the line you need to add):

cd
echo text >>.bashrc

This completes the installation. Follow the testing instructions above. If there are problems, please use EMAN2 Google Group. If you cannot use the Google Group for some reason, please feel free to email sludtke@bcm.edu.

Additional tips:

  • If you are also using EMAN1, you should put the EMAN2 'source' after the EMAN1 'source' in your .bashrc file.

  • Ubuntu users: A package called 'freeglut' is not always installed on Ubuntu machines, and may be required for 2-D plots (such as interactive CTF tuning). If you see blank windows when you expect to see plots, please use the package manager to install freeglut.

  • For SUSE users and users of some other KDE based platforms which refuse to work properly after installing EMAN2. EMAN2 ships with its own copy of the Qt libraries. If your distribution uses EXACTLY the same version of Qt that we provide, there may be a conflict which prevents KDE from working. Despite the version numbers being the same, Qt can be compiled with many different options, and if the options we used don't exactly match the options your OS used, then the EMAN2 libraries will conflict. There are two possible ways to resolve this: 1) remove all of the Qt libraries from EMAN2/extlib, which will force EMAN2 to use the system libraries (there is a chance that EMAN2 will not work with the system libraries). 2) Remove the EMAN2 bashrc file from your .bashrc file, and when you want to use EMAN2, set up an alias to source the bashrc from the shell you want to run EMAN2 from. This will make it so only those shells will use EMAN2's libraries, and it won't interfere with the rest of your system.

  • EMAN2 on Linux ships with its own Python interpreter, which will be used for all e2* and sx* programs. However, if you run 'python' you will use your system default python interpreter, not the one that ships with EMAN2. If you wish to write your own EMAN2 python scripts, you need to copy the first line from e2speedtest.py and put it in your python script so the correct interpreter is used.

Windows

  • If you have installed previous version of EMAN2. Please uninstall it and remove a directory called c:\tmp\eman2db-***.
  • If you plan to install both EMAN1 and EMAN2, EMAN1 must be installed FIRST.
  • For windows(XP/Vista/7 32/64), EMAN2 comes with it's own Python2.7, with preinstalled site-packages like PyQt4, PyOpenGL etc., So if you have your own Python installed, you may need uninstall it IF there is a conflict.

  • After installation, you can open a command prompt and type e2.py.
    • If you get error like:
      • ImportError: DLL load failed: The application has failed to start because its side-by-side configuration is incorrect.
        ImportError: DLL load failed: This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem.

        please install Visual C++ 2008 Redistributable downloaded from Microsoft or from here Download Visual C++ 2008 redistributable runtime library here..

    • If you get a python prompt successfully, try typing 'display(test_image())'. You should see an s-shaped image appear on the screen. If so, EMAN2 is working.
  • If you double click on one of the icons, and the application doesn't open properly, please try running it from the command-line instead. This will give better error information.
  • EMAN2 uses PyQt4 as GUI toolkit. It has conflict with Matlab R2007b, you need uninstall Matlab or install it in a different account, i.e. not system wide install.

  • Windows user please ignore this warning message, "WARNING: Using the out of date 'bsddb' module instead of bsddb3. Consider installing newer berkeleydb and bsddb3."
  • EMAN2 may still have problems on specific windows machines. If you run into any, please report them to sludtke@bcm.edu

  • There may be conflicts with EMAN2 and other software packages which also use python. On Linux/Mac, there are mechanisms for dealing with this, but windows lacks this. Most problems with Windows installations relate to conflicts with other software.

Environement Variable Setting For EMAN2 (All platforms)

In some rare cases, the EMAN2 installer will not be able to update your environment variables properly. In such cases, we need set up environment variables like PATH, LD_LIBRARY_PATH and PYTHONPATH for EMAN2 to work correctly. These environment variables should be automatically set when you run eman-installer script when you install binary EMAN release.

  • For sh/bash like shells on Linux/UNIX system (suppose you install EMAN2 under your home directory):

export EMAN2DIR=${HOME}/EMAN2
export PATH=${PATH}:${EMAN2DIR}/bin
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${EMAN2DIR}/lib
export PYTHONPATH=${PYTHON_PATH}:${EMAN2DIR}/lib
  • For csh/tcsh like shell on Linux/UNIX system (suppose you install EMAN under your home directory):

setenv EMAN2DIR ${HOME}/EMAN2
setenv PATH ${PATH}:${EMAN2DIR}/bin
setenv LD_LIBRARY_PATH ${EMAN2DIR}/lib    #setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${EMAN2DIR}/lib if you have LD_LIBRARY_PATH set
setenv PYTHONPATH ${EMAN2DIR}/lib         #setenv PYTHONPATH ${PYTHONPATH}:${EMAN2DIR}/lib  if you have PYTHONPATH set
  • For windows users (suppose you install EMAN2 under C:\):

right click "my computer"->properties->Advanced->Environment Variables
in "system variables"edit the "path" entry, and add: 
C:\EMAN2\bin;C:\EMAN2\lib;C:\EMAN2\python\Python27;C:\EMAN2\python\Python27\Lib\site-packages\PyQt4\bin.

Create a new system variable PYTHONPATH, add: 
C:\EMAN2\lib;C:\EMAN2\bin. 
(note: In the example I suppose you installed EMAN2 into C:\ directory, change it accordingly if you install EMAN2 in other directory.)

EMAN2/Install/BinaryInstall (last edited 2017-12-27 01:56:26 by RJEdwards)