Differences between revisions 1 and 14 (spanning 13 versions)
Revision 1 as of 2017-05-12 19:32:39
Size: 2548
Editor: TunayDurmaz
Comment: cleanup new page, keep the structure
Revision 14 as of 2017-05-18 03:56:06
Size: 7631
Editor: SteveLudtke
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= All platforms = = Binary Installation Instructions =

== Mac OS X ==

 1. Download eman2.X.MacOS.sh
 1. 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
 1. Run these programs to see if the install worked:
 {{{
e2version.py
e2speedtest.py
e2display.py
 }}}
 1. 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.
 1. 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
 1. Run these programs to see if the install worked:
 {{{
e2version.py
e2speedtest.py
e2display.py
 }}}
 1. 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.

=== Cluster installations ===

'''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'''.


==== Use system OpenMPI and NumPy v1.8 ====

  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'(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.)

  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
}}}

==== Rebuild and install OpenMPI, use NumPy v1.8 ====

  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, v1.8 ====

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 ==

1. Download and install EMAN2 binary.

2. Install [[https://bitbucket.org/vinay.sajip/pylauncher/downloads/ | Python Launcher]].

=== Bash On Windows ===

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 [[https://sourceforge.net/projects/xming/ | 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.
Line 4: Line 131:
'''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: '''After''' installing on any of the systems below, you should test to make sure it's working by running the following 4 basic tests:
Line 10: Line 137:

== Mac OS X ==

To install:

    1. Download the appropriate file .... .

    2. If you use the bash shell, add the following line to your ".profile" file:

    {{{
test -r /Applications/EMAN2/eman2.bashrc && source /Applications/EMAN2/eman2.bashrc
}}}

    3. Restart your terminal program for a fresh shell. EMAN2 should now be installed and function properly.

''Notes:''
 * Placeholder


== Linux ==

Paragraph:

{{{
bash <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).


=== Additional tips: ===
 * '''Bold text''', you should put the EMAN2 'source' after the EMAN1 'source' in your .bashrc file.
 * List 2


== Windows ==
Paragraph.

Paragraph.

Anyway, if you're not deterred by my doom and gloom, we do try to make installation as simple as possible, and it IS possible to use EMAN2 effectively on Windows:

 * If you have installed previous version of EMAN2. Please uninstall it and remove a directory called c:\tmp\eman2db-***.
 * After installation, try running:
  * e2version.py
  * e2speedtest.py
  * e2display.py
 * Do not try to run EMAN2 programs using desktop Icons. You need to open a command prompt and run the commands from there. Even the GUI tools should be launched this way.

== 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.

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
  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
  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.

Cluster installations

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.

Use system OpenMPI and NumPy v1.8

  1. Remove the OpenMPI we provided.

        bash <path to EMAN2 directory>/utils/uninstall_openmpi.sh
  2. 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.)
  3. 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 and install OpenMPI, use NumPy v1.8

  1. Remove the OpenMPI we provided.

        bash <path to EMAN2 directory>/utils/uninstall_openmpi.sh
  2. Rebuild OpenMPI.

        bash <path to EMAN2 directory>/utils/build_and_install_openmpi.sh
  3. 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

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

1. Download and install EMAN2 binary.

2. Install Python Launcher.

Bash On Windows

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.

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)

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