Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

only list requirements once on installation page #135

Merged
merged 4 commits into from
Apr 12, 2023
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 21 additions & 36 deletions docs/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,20 +16,21 @@ Notes on other ways of installing EasyBuild are available under section [Alterna

The only strict requirements are:

* a **GNU/Linux distribution** as operating system
* **Python**:
* Python 2.7, or Python 3.x (>= 3.5). Since [Python 2 is end-of-life](https://www.python.org/doc/sunset-python-2/) we recommend
using Python 3 if it is available
* **note**: only EasyBuild v4.0 (or newer) is compatible with Python 3, earlier EasyBuild releases require Python 2
* no Python packages other than the ones included in the Python standard library are strictly required
* **note**: only EasyBuild versions prior to v4.0 require `vsc-base` (& `vsc-install`),
see also [Required Python packages for older EasyBuild versions][required_python_packages_eb3]
* for some specific features, additional Python packages are needed though, see [Optional Python packages][optional_python_packages]
* a **GNU/Linux** distribution as operating system
* some common shell tools are expected to be available, see [Required shell tools][required_shell_tools]
* [Python](https://python.org):
* Python 2.7, or Python 3.x (>= 3.5);
* since [Python 2 is end-of-life](https://www.python.org/doc/sunset-python-2/) we strongly recommend
using Python 3 if it is available;
* EasyBuild 5.0 will require Python >= 3.6;
* no third-party Python packages are strictly required (the Python standard library is sufficient);
* for some *specific* EasyBuild features additional Python packages are required however, see [Optional Python packages][optional_python_packages];
* a **modules tool**: Tcl(/C) environment modules or Lmod
* the actual module command/script (`modulecmd`, `modulecmd.tcl` or `lmod`) *must* be available via `$PATH`
* see [Required modules tool][required_modules_tool] for more details
* the actual modules tool *must* be available via `$PATH`, see [Required modules tool][required_modules_tool]
* a C/C++ compiler (e.g., `gcc` and `g++`)
* only required to build and install GCC with, or as a dependency for the Intel compilers, for example

For more information on (optional) dependencies, see [Dependencies][dependencies].
For more information on dependencies, see [Dependencies][dependencies].


## Using pip to Install EasyBuild {: #pip }
Expand Down Expand Up @@ -305,28 +306,12 @@ module load EasyBuild
The environment module file that was generated by EasyBuild specifies all changes that need to be made.


## Dependencies {: #dependencies }

EasyBuild has a couple of dependencies, some are optional.

## Required Dependencies {: #dependencies }

### Required dependencies {: #required_dependencies }

* a **GNU/Linux** distribution as operating system
* some common shell tools are expected to be available, see [Required shell tools][required_shell_tools]
* [Python](https://python.org):
* Python 2.7, or Python 3.x (>= 3.5);
* since [Python 2 is end-of-life](https://www.python.org/doc/sunset-python-2/) we strongly recommend
using Python 3 if it is available;
* no third-party Python packages are strictly required (the Python standard library is sufficient);
* for some *specific* EasyBuild features additional Python packages are required however, see [Optional Python packages][optional_python_packages];
* a **modules tool**: Tcl(/C) environment modules or Lmod
* the actual modules tool *must* be available via `$PATH`, see [Required modules tool][required_modules_tool]
* a C/C++ compiler (e.g., `gcc` and `g++`)
* only required to build and install GCC with, or as a dependency for the Intel compilers, for example
This section gives further information on the [required dependencies][requirements].


#### Required shell tools {: #required_shell_tools }
### Required shell tools {: #required_shell_tools }

<!-- XXX - UPDATE BY VERSION, below -->

Expand All @@ -344,7 +329,7 @@ A couple of shell tools may be required, depending on the particular use case (i
* `sysctl`, for querying system characteristics (only required on non-Linux systems)


#### Required modules tool {: #required_modules_tool }
### Required modules tool {: #required_modules_tool }

EasyBuild not only generates module files to be used along with the software it installs,
it also depends on the generated modules, mainly for resolving dependencies.
Expand Down Expand Up @@ -390,12 +375,12 @@ Additional notes:
[Installing Lmod without root permissions][installing_lmod].


#### Required Python packages {: #required_python_packages }
### Required Python packages {: #required_python_packages }

Since EasyBuild v4.0, *no* Python packages outside of the Python standard library are required.


##### Required Python packages for older EasyBuild versions {: #required_python_packages_eb3 }
#### Required Python packages for older EasyBuild versions {: #required_python_packages_eb3 }

For EasyBuild versions prior to version 4.0, a couple of additional Python packages are required:

Expand All @@ -418,12 +403,12 @@ For EasyBuild versions prior to version 4.0, a couple of additional Python packa

Other Python packages are optional dependencies, see [Optional Python packages][optional_python_packages].

### Optional dependencies
## Optional dependencies

Some dependencies are optional and are only required to support certain features.


#### Optional Python packages {: #optional_python_packages }
### Optional Python packages {: #optional_python_packages }

* [GC3Pie](https://pypi.org/project/gc3pie), only needed when using `GC3Pie` as a backend for `--job`,
see also [Submitting jobs using --job][submitting_jobs];
Expand Down