Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Praetorius, Simon
dune-easybuild
Commits
32c1841d
Commit
32c1841d
authored
Aug 29, 2018
by
Praetorius, Simon
Browse files
Update README.md
parent
11235cf7
Changes
1
Hide whitespace changes
Inline
Side-by-side
README.md
View file @
32c1841d
## EasyBuild
Description from http://easybuild.readthedocs.io/en/latest/
index
.html
Description from http
s
://easybuild.readthedocs.io/en/latest/
Introduction
.html
> EasyBuild: a software build and installation framework that allows you to manage
> (scientific) software on High Performance Computing (HPC) systems in an efficient way.
> It is motivated by the need for a tool that combines the following features:
>
> - fully **automates** software builds
> - allows for easily **reproducing** previous builds
> - keep the software build recipes/specifications **simple and human-readable**
> - supports **co-existence of versions/builds** via dedicated installation prefix and module files
> - automagic **dependency resolution**
> - [...]
It allows to automate the build and install process in HPC systems.
### Installing EasyBuild
On most HPC clusters an EasyBuild installation and an enivornment-module system
is already available. Just run
```
module load EasyBuild
```
to put the executable
`eb`
in the
`PATH`
.
If you want to install EasyBuild on an own system, follow the
[
Installation instructions
](
https://easybuild.readthedocs.io/en/latest/Installation.html
)
.
Basically, you first need to install an environment-module system, like
[
Lmod
](
https://sourceforge.net/projects/lmod/
)
. The second step is a booststrap
install procedure that installs EasyBuild with a temporary installation of EasyBuild
itself.
## Installing dune with EasyBuild
The dune modules itself depend on each other. This dependency can be resolved
either using
`dunecontrol`
or using
`EasyBuild`
. The latter allows to also
resolve dependencies to external software installed in an HPC cluster, that
needs access to a module system for the resolution. An EasyConfig file describes
these dependencies and gives control over the build and installation process.
```
module load EasyBuild
```
needs access to a environment-module system for the resolution. An EasyConfig
file describes these dependencies and gives control over the build and
installation process.
Simply build the (meta) dune module that has dependencies to all other dune
modules or build each one separately:
...
...
@@ -25,8 +45,8 @@ eb dune-2.6.0-foss-2018a.eb --robot=external/:modules/ --moduleclasses=dune
```
The option
`--robot`
enables dependency resolution with the parameter
`--robot=DIR`
adds
`DIR`
to the search path for EasyConfig files, and finally the options
`--modulesclasses=dune`
adds an additional
E
nvironment
al
module subdirectory
the
`DIR`
is added
to the search path for EasyConfig files, and finally the options
`--modulesclasses=dune`
adds an additional
e
nvironment
-
module subdirectory
`dune`
where all dune modules are stored in.
## Creating new EasyConfig files
...
...
@@ -38,7 +58,7 @@ number and updating the checksum:
eb EASYCONFIGFILE.eb --inject-checksums
```
If you want to base your installatio on the current git branch, use the
`duneeasyconfig.sh`
If you want to base your installatio
n
on the current git branch, use the
`duneeasyconfig.sh`
script that prepares the git master branch for a use with EasyBuild. It creates
automatically an EasyConfig file, downloads the files, and creates an archive
of the downloaded data.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment