eman2:install:sourceinstall
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
eman2:install:sourceinstall [2025/06/14 22:33] – created steveludtke | eman2:install:sourceinstall [2025/06/19 03:31] (current) – steveludtke | ||
---|---|---|---|
Line 18: | Line 18: | ||
===== Initial Setup ===== | ===== Initial Setup ===== | ||
This section only needs to be completed once. If you have a working EMAN2 source installation and just wish to update, skip ahead to **Build and Install**. | This section only needs to be completed once. If you have a working EMAN2 source installation and just wish to update, skip ahead to **Build and Install**. | ||
- | - **Check your account for possible problems** | + | |
+ | | ||
* IF you have conda-forge, | * IF you have conda-forge, | ||
* Otherwise: | * Otherwise: | ||
Line 31: | Line 32: | ||
</ | </ | ||
- | - **Download and install** | + | |
* Note: If your site has an Anaconda license, you are welcome to use the conda provided by a proper Anaconda/ | * Note: If your site has an Anaconda license, you are welcome to use the conda provided by a proper Anaconda/ | ||
Line 44: | Line 45: | ||
| | ||
- | ## 1. **Initialize conda for shell interaction.** These instructions will depend on what shell you use. The default on most systems is //bash//. If you use a different shell ( //tsch//, //zsh//, ... ), you will need to take that into account: | + | 3. **Initialize conda for shell interaction.** These instructions will depend on what shell you use. The default on most systems is //bash//. If you use a different shell ( //tsch//, //zsh//, ... ), you will need to take that into account: |
## < | ## < | ||
Line 61: | Line 62: | ||
For more information on conda-init and activation, see [[https:// | For more information on conda-init and activation, see [[https:// | ||
- | - **Configure and update conda.** | + | |
< | < | ||
# We suggest the following, meaning you will need to use //conda activate// after logging in before using EMAN2 | # We suggest the following, meaning you will need to use //conda activate// after logging in before using EMAN2 | ||
Line 78: | Line 79: | ||
</ | </ | ||
- | - **Create a new environment** with EMAN2 dependencies. //eman2// below is the name of the environment. You may make this whatever you like, as long as you remember to use the same name when doing //conda activate//. Note that this name will appear as part of your prompt when activated, so you may want to keep it short. | + | |
Line 95: | Line 96: | ||
- | - Ensure you have **OpenGL**: | + | |
EMAN2 uses OpenGL (via !PyQt) for all of its graphics. OpenGL installation depends on OS variant and, for example, whether you are using proprietary NVidia drivers under Linux. You will need to have OpenGL set up on your machine as a whole before continuing. On Mac, you should already have this with XCode. On Linux with an NVidia driver you will likely also need to install the Mesa header files. If you aren't sure how to set up OpenGL, Google can probably help. | EMAN2 uses OpenGL (via !PyQt) for all of its graphics. OpenGL installation depends on OS variant and, for example, whether you are using proprietary NVidia drivers under Linux. You will need to have OpenGL set up on your machine as a whole before continuing. On Mac, you should already have this with XCode. On Linux with an NVidia driver you will likely also need to install the Mesa header files. If you aren't sure how to set up OpenGL, Google can probably help. | ||
- | - **Get EMAN code** from [[https:// | + | |
< | < | ||
cd < | cd < | ||
Line 104: | Line 105: | ||
</ | </ | ||
- | - **Create a build directory** (out-of-source builds are recommended). | + | |
< | < | ||
mkdir < | mkdir < | ||
</ | </ | ||
- | - **GPU/deep learning** Install JAX per the next section for GPU support. JAX is required for virtually all of the new EMAN3 programs | + | |
===== GPU Aceleration & Deep Learning ===== | ===== GPU Aceleration & Deep Learning ===== | ||
Line 121: | Line 122: | ||
* Instead, we strongly suggest just installing JAX using pip: | * Instead, we strongly suggest just installing JAX using pip: | ||
* conda activate eman2 | * conda activate eman2 | ||
- | * Linux (NVIDIA): pip install " | + | * Linux (NVIDIA): pip install " |
- | * Other (cpu): pip install jax | + | * Other (cpu): pip install jax optax |
* see [[https:// | * see [[https:// | ||
Line 129: | Line 130: | ||
When you start a new shell, these are the steps you will need to take before running EMAN programs or compiling the system: | When you start a new shell, these are the steps you will need to take before running EMAN programs or compiling the system: | ||
- | - **Activate** your environment. If you used a different name above, use it here too. | + | |
< | < | ||
conda activate eman2 | conda activate eman2 | ||
</ | </ | ||
- | - **Update and Checkout source code**. Periodically you should update your source using standard git techniques. | + | |
< | < | ||
cd < | cd < | ||
Line 142: | Line 143: | ||
</ | </ | ||
- | - **CMake** | + | |
< | < | ||
cd < | cd < | ||
Line 158: | Line 159: | ||
* If you use **ccmake**, you may get an error related to OpenGL. If this happens try quitting ccmake and running it again. | * If you use **ccmake**, you may get an error related to OpenGL. If this happens try quitting ccmake and running it again. | ||
- | - **Make** | + | |
< | < | ||
make -j 8 | make -j 8 | ||
Line 175: | Line 176: | ||
* note: "make test" is not recommended for individual installs, this tool is primarily aimed at developers making changes in the core of the system. It is not uncommon for one or more tests to fail, and there is no need to report such failures. In most cases this is a problem with the test, not a problem with the system. | * note: "make test" is not recommended for individual installs, this tool is primarily aimed at developers making changes in the core of the system. It is not uncommon for one or more tests to fail, and there is no need to report such failures. In most cases this is a problem with the test, not a problem with the system. | ||
- | - **Other Environments**. To switch to another conda environment (stop working with EMAN2), first deactivate your current environment. | + | |
< | < | ||
conda deactivate | conda deactivate | ||
Line 201: | Line 202: | ||
Please, provide the output of the following commands when reporting a problem. Record the session via **script** command. This, also, records the commands, and you can just submit the full text file with your problem report. | Please, provide the output of the following commands when reporting a problem. Record the session via **script** command. This, also, records the commands, and you can just submit the full text file with your problem report. | ||
- | - < | + | |
script filename.txt | script filename.txt | ||
Line 231: | Line 232: | ||
</ | </ | ||
- | - Send **filename.txt**. | + | |
eman2/install/sourceinstall.1749940395.txt.gz · Last modified: by steveludtke