Differences between revisions 14 and 15
Revision 14 as of 2017-05-18 03:56:06
Size: 7631
Editor: SteveLudtke
Comment:
Revision 15 as of 2017-05-18 04:32:12
Size: 7556
Editor: SteveLudtke
Comment:
Deletions are marked like this. Additions are marked like this.
Line 20: Line 20:
e2proc2d.py :64:64:1 test.hdf --process mask.sharp:outer_radius=24
Line 42: Line 43:
e2proc2d.py :64:64:1 test.hdf --process mask.sharp:outer_radius=24
Line 45: Line 47:
=== Cluster installations === == Linux Clusters ==
Line 47: Line 49:
'''Important note for Linux Cluster use:'''

If you are using EMAN2/SPARX/SPHIRE on a cluster, the version of OpenMPI we provide may not work with your batch queueing system, meaning you would not be able to run jobs on more than one node at a time. If that is the case or system OpenMPI can't be used for any reason, EMAN2 installation can be tweaked to work with the existing system OpenMPI or OpenMPI can be installed from source. There are some scripts included in the binary distribution intended to help with these situations. The scripts run {{{conda build/install}}} commands with appropriate options. If desired, additional valid conda-build and conda-install options can be passed to scripts. Please, refer to corresponding command documentation for more details. Some situations can be dealt with by rebuilding Pydusa, some may require rebuilding EMAN2. The version of NumPy that EMAN2 is built against and bundled in the binary distribution is '''1.8'''.
 * Follow the Linux workstation instructions above.
 * When using EMAN2/SPARX/SPHIRE on a cluster, the version of OpenMPI provided with the EMAN2.2 binaries may not be aware of the batch queuing system used to launch jobs on the cluster, and may only be able to run on one node at a time unless you follow the OpenMPI reinstallation instructions below. Follow only ONE of the sets of instructions below.
Line 54: Line 54:
  1. Remove the OpenMPI we provided. {{{
    bash <path to EMAN2 directory>/utils/uninstall_openmpi.sh
}}}
Most Linux clusters will have at least one OpenMPI installation on the cluster. In some cases there may be more than one, and you may have to select a "module" to get the correct one. It is also critical that OpenMPI be compiled with the --disable-dlopen option. If you don't understand this statement, please consult with your cluster sysadmin.
  1. Remove the OpenMPI we provided:
 {{{
bash <path to EMAN2 directory>/utils/uninstall_openmpi.sh
 }}}
  1. Make sure that the correct OpenMPI for your cluster is in your path. You should be able to run 'mpicc' and get a message like 'gcc: no input files'
  1. Rebuild and install Pydusa using the system installed OpenMPI.
 {{{
bash <path to EMAN2 directory>/utils/build_pydusa_numpy.sh 1.8
bash <path to EMAN2 directory>/utils/install_pydusa_numpy.sh 1.8
 }}}
Line 58: Line 66:
  1. Make sure that the correct OpenMPI for your cluster is in your path. You should be able to run 'mpicc' and get a message like 'gcc: no input files'(note that it is critical that OpenMPI be compiled with '--disable-dlopen', which may or may not be true on your cluster. You may need to consult a sysadmin.) ==== Rebuild your own OpenMPI, use NumPy v1.8 ====
This option insures that --disable-dlopen is used when compiling OpenMPI, but may lack some system-specific optimizations provided by your sysadmin.
Line 60: Line 69:
  1. Rebuild and install Pydusa using the system installed OpenMPI. {{{
    bash <path to EMAN2 directory>/utils/build_pydusa_numpy.sh 1.8
    bash <path to EMAN2 directory>/utils/
install_pydusa_numpy.sh 1.8
}}}
  1. Remove the OpenMPI we provided:
{{{
bash <path to EMAN2 directory>/utils/uninstall_openmpi.sh
}}}
Line 65: Line 74:
==== Rebuild and install OpenMPI, use NumPy v1.8 ====   1. Rebuild OpenMPI.
 {{{
bash <path to EMAN2 directory>/utils/build_and_install_openmpi.sh
 }}}
Line 67: Line 79:
  1. Remove the OpenMPI we provided. {{{
    bash <path to EMAN2 directory>/utils/uninstall_openmpi.sh
}}}
  1. Rebuild and install Pydusa using the system installed OpenMPI:
 {{{
bash <path to EMAN2 directory>/utils/build_pydusa_numpy.sh 1.8
bash <path to EMAN2 directory>/utils/install_pydusa_numpy.sh 1.8
 }}}
Line 71: Line 85:
  1. Rebuild OpenMPI. {{{
    bash <path to EMAN2 directory>/utils/build_and_install_openmpi.sh
}}}

  1. Rebuild and install Pydusa using the system installed OpenMPI. {{{
    bash <path to EMAN2 directory>/utils/build_pydusa_numpy.sh 1.8
    bash <path to EMAN2 directory>/utils/install_pydusa_numpy.sh 1.8
}}}

==== Build against a version of NumPy other than the bundled version, v1.8 ====
==== Build against a version of NumPy other than the bundled version (NOT RECOMMENDED) ====
Line 84: Line 89:
  1. Rebuild and install Pydusa against the desired NumPy version. {{{
    bash <path to EMAN2 directory>/utils/build_pydusa_numpy.sh <list of NumPy version(s)>
    bash <path to EMAN2 directory>/utils/install_pydusa_numpy.sh <NumPy version>
    bash <path to EMAN2 directory>/utils/build_eman_numpy.sh <list of NumPy version(s)>
    bash <path to EMAN2 directory>/utils/install_pydusa_numpy.sh <NumPy version>
}}}
  1. Rebuild and install Pydusa against the desired NumPy version.   {{{
bash <path to EMAN2 directory>/utils/build_pydusa_numpy.sh <list of NumPy version(s)>
bash <path to EMAN2 directory>/utils/install_pydusa_numpy.sh <NumPy version>
bash <path to EMAN2 directory>/utils/build_eman_numpy.sh <list of NumPy version(s)>
bash <path to EMAN2 directory>/utils/install_pydusa_numpy.sh <NumPy version>
 }}}
Line 94: Line 100:
1. Download and install EMAN2 binary. === Native Win7/10 64 bit ===
We are finally able to provide 64 bit Windows binaries for EMAN2. SPARX/SPHIRE are not officially supported. EMAN2 functionality may not be complete using this first approach. You may get more complete functionality, but with some additional difficulties using the Linux/Bash shell approach below.
Line 96: Line 103:
2. Install [[https://bitbucket.org/vinay.sajip/pylauncher/downloads/ | Python Launcher]].  1. Download eman2.X.win64.exe
 1. Launch the installer, and answer any security questions you are prompted for.
 1.
In most cases you will want to install: [[https://bitbucket.org/vinay.sajip/pylauncher/downloads/ | Python Launcher]].
Line 98: Line 107:
=== Bash On Windows === === Windows 10 - Linux/Bash shell ===
Windows 10 includes an embeded Ubuntu Linux environment. It is possible to run the EMAN2 Linux binaries within this environment, but you will need to install some additional dependencies to do so.
Line 100: Line 110:
1. Install "Bash on Windows 10", [[https://www.howtogeek.com/249966/how-to-install-and-use-the-linux-bash-shell-on-windows-10/]].

2
. When prompted to set a user name, enter `root`. This should give you an account without a password.
 1. Install "Bash on Windows 10", [[https://www.howtogeek.com/249966/how-to-install-and-use-the-linux-bash-shell-on-windows-10/]].
 1. When prompted to set a user name, enter `root`. This should give you an account without a password.
Line 105: Line 114:
 1. Install OpenGL.
 {{{
sudo apt-get update
sudo apt-get install libsm-dev libxrender-dev build-essential libgl1-mesa-dev mesa-utils mesa-common-dev
sudo apt-get autoremove
 }}}
Line 106: Line 121:
1. Install OpenGL. {{{
    sudo apt-get update
    sudo apt-get install libsm-dev \
                         libxrender-dev \
                         build-essential \
                         libgl1-mesa-dev \
                         mesa-utils \
                         mesa-common-dev
    sudo apt-get autoremove
    }}}
 1. Install [[https://sourceforge.net/projects/xming/ | Xming X Server for Windows]].
Line 117: Line 123:
2. Install [[https://sourceforge.net/projects/xming/ | Xming X Server for Windows]].  1. Set environment variables.
 {{{
export DISPLAY=:0
glxinfo | grep OpenGL
export KMP_AFFINITY=disabled # per https://github.com/Microsoft/BashOnWindows/issues/785#issuecomment-238079769
 }}}
Line 119: Line 130:
3. Set environment variables. {{{
    export DISPLAY=:0
    glxinfo | grep OpenGL
    export KMP_AFFINITY=disabled # per https://github.com/Microsoft/BashOnWindows/issues/785#issuecomment-238079769
    }}}

4. Download and install `eman2.2.linux64.centos7.sh`.

5. Start X Server before running eman2.


== Testing ==
'''After''' installing on any of the systems below, you should test to make sure it's working by 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)
 * e2projectmanager.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)
 1. Download and install `eman2.2.linux64.centos7.sh`.
 1. Start X Server before running eman2 programs
 1. Run these programs to see if the install worked:
 {{{
e2version.py
e2speedtest.py
e2display.py
e2proc2d.py :64:64:1 test.hdf --process mask.sharp:outer_radius=24
 }}}

Binary Installation Instructions

Mac OS X

  1. Download eman2.X.MacOS.sh
  2. Run:
    bash <path to EMAN2 installer>
    • You will be prompted for a location to install EMAN2. Note that you cannot rename this folder after installation! You must reinstall if you wish to move the installation
    • You will be asked if you want to add  export PATH=...  to your .profile file.

    • If you use a different shell, such as tcsh or zsh, you may need to edit the appropriate file yourself.
    • You should not normally need to run the OpenMPI reinstallation scripts. The copy of OpenMPI/Pydusa now distributed with the binaries should work on Macs in most cases.
    • Don't forget to restart your shell if you changed the .profile or other scripts
  3. Run these programs to see if the install worked:
    e2version.py
    e2speedtest.py
    e2display.py
    e2proc2d.py :64:64:1 test.hdf --process mask.sharp:outer_radius=24
  4. If you have problems with any of these programs, the first thing to check is whether you have PYTHONPATH, LD_LIBRARY_PATH or DYLD_LIBRARY_PATH set in your shell. While used in previous versions of EMAN, these variables are no longer necessary. If they are set to make some other software package work, but they interfere with the programs above, you will have to unset them, and set them only when you need the other software.

Linux Workstations (not clusters)

  1. There are two linux binaries available: eman2.X.centos6.sh and eman2.X.centos7.sh
    • if you are using a distribution other than CentOS, which version you need will depend on how old your OS is. I suggest starting with centos7, and only going back to centos6 if it fails.
  2. Run:
    bash <path to EMAN2 installer>
    • You will be prompted for a location to install EMAN2. Note that you cannot rename this folder after installation! You must reinstall if you wish to move the installation
    • You will be asked if you want to add  export PATH=...  to your .profile file.

    • If you use a different shell, such as tcsh or zsh, you may need to edit the appropriate file yourself.
    • You should not normally need to run the OpenMPI reinstallation scripts. The copy of OpenMPI/Pydusa now distributed with the binaries should work on Linux workstations in most cases.
    • Don't forget to restart your shell if you changed the .profile or other scripts
  3. Run these programs to see if the install worked:
    e2version.py
    e2speedtest.py
    e2display.py
    e2proc2d.py :64:64:1 test.hdf --process mask.sharp:outer_radius=24
  4. If you have problems with any of these programs, the first thing to check is whether you have PYTHONPATH or LD_LIBRARY_PATH set in your shell. While used in previous versions of EMAN, these variables are no longer used, and in some cases may interfere with Anaconda. If they have been set to make some other software package work, but they interfere with the programs above, you will have to unset them, and set them only when you need the other software.

Linux Clusters

  • Follow the Linux workstation instructions above.
  • When using EMAN2/SPARX/SPHIRE on a cluster, the version of OpenMPI provided with the EMAN2.2 binaries may not be aware of the batch queuing system used to launch jobs on the cluster, and may only be able to run on one node at a time unless you follow the OpenMPI reinstallation instructions below. Follow only ONE of the sets of instructions below.

Use system OpenMPI and NumPy v1.8

Most Linux clusters will have at least one OpenMPI installation on the cluster. In some cases there may be more than one, and you may have to select a "module" to get the correct one. It is also critical that OpenMPI be compiled with the --disable-dlopen option. If you don't understand this statement, please consult with your cluster sysadmin.

  1. Remove the OpenMPI we provided:
  • bash <path to EMAN2 directory>/utils/uninstall_openmpi.sh
    1. Make sure that the correct OpenMPI for your cluster is in your path. You should be able to run 'mpicc' and get a message like 'gcc: no input files'
    2. Rebuild and install Pydusa using the system installed OpenMPI.
    bash <path to EMAN2 directory>/utils/build_pydusa_numpy.sh 1.8
    bash <path to EMAN2 directory>/utils/install_pydusa_numpy.sh 1.8

Rebuild your own OpenMPI, use NumPy v1.8

This option insures that --disable-dlopen is used when compiling OpenMPI, but may lack some system-specific optimizations provided by your sysadmin.

  1. Remove the OpenMPI we provided:
  • bash <path to EMAN2 directory>/utils/uninstall_openmpi.sh
    1. Rebuild OpenMPI.
    bash <path to EMAN2 directory>/utils/build_and_install_openmpi.sh
    1. Rebuild and install Pydusa using the system installed OpenMPI:
    bash <path to EMAN2 directory>/utils/build_pydusa_numpy.sh 1.8
    bash <path to EMAN2 directory>/utils/install_pydusa_numpy.sh 1.8

Build against a version of NumPy other than the bundled version (NOT RECOMMENDED)

OpenMPI doesn't depend on NumPy, so changing to a different NumPy version doesn't require OpenMPI to be rebuilt. However, Pydusa and EMAN2 need to be rebuilt.

  1. Rebuild and install Pydusa against the desired NumPy version.

  • bash <path to EMAN2 directory>/utils/build_pydusa_numpy.sh   <list of NumPy version(s)>
    bash <path to EMAN2 directory>/utils/install_pydusa_numpy.sh <NumPy version>
    bash <path to EMAN2 directory>/utils/build_eman_numpy.sh     <list of NumPy version(s)>
    bash <path to EMAN2 directory>/utils/install_pydusa_numpy.sh <NumPy version>

Windows

Native Win7/10 64 bit

We are finally able to provide 64 bit Windows binaries for EMAN2. SPARX/SPHIRE are not officially supported. EMAN2 functionality may not be complete using this first approach. You may get more complete functionality, but with some additional difficulties using the Linux/Bash shell approach below.

  1. Download eman2.X.win64.exe
  2. Launch the installer, and answer any security questions you are prompted for.
  3. In most cases you will want to install: Python Launcher.

Windows 10 - Linux/Bash shell

Windows 10 includes an embeded Ubuntu Linux environment. It is possible to run the EMAN2 Linux binaries within this environment, but you will need to install some additional dependencies to do so.

  1. Install "Bash on Windows 10", https://www.howtogeek.com/249966/how-to-install-and-use-the-linux-bash-shell-on-windows-10/.

  2. When prompted to set a user name, enter root. This should give you an account without a password.

Install OpenGL and X Server, set environment variables

  1. Install OpenGL.
    sudo apt-get update
    sudo apt-get install libsm-dev libxrender-dev build-essential libgl1-mesa-dev mesa-utils mesa-common-dev
    sudo apt-get autoremove
  2. Install Xming X Server for Windows.

  3. Set environment variables.
    export DISPLAY=:0
    glxinfo | grep OpenGL
    export KMP_AFFINITY=disabled # per https://github.com/Microsoft/BashOnWindows/issues/785#issuecomment-238079769
  4. Download and install eman2.2.linux64.centos7.sh.

  5. Start X Server before running eman2 programs
  6. Run these programs to see if the install worked:
    e2version.py
    e2speedtest.py
    e2display.py
    e2proc2d.py :64:64:1 test.hdf --process mask.sharp:outer_radius=24

EMAN2/Install/BinaryInstallAnaconda/ContinuousBuild (last edited 2023-02-19 20:09:56 by TunayDurmaz)