Skip to content

Commit 64694b0

Browse files
committed
Corrected and updated several links.
1 parent a5c4e09 commit 64694b0

14 files changed

Lines changed: 54 additions & 49 deletions

docs/2022-CSC_and_LO/1_Intro/1_01_what_is_easybuild.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@
44

55
<p align="center"><img src="../../../img/easybuild_logo_alpha.png" alt="EasyBuild logo" width="300px"/></p>
66

7-
**[EasyBuild](http://easybuild.io)** is a **software build and installation framework**
7+
**[EasyBuild](https://easybuild.io)** is a **software build and installation framework**
88
that manages (scientific) software in an efficient way, without compromising on performance.
99
Easybuild is especially tailored towards [**High Performance Computing (HPC)**](https://en.wikipedia.org/wiki/Supercomputer) systems,
1010
and provides a **command-line interface** to facilitate the installation and management of a scientific software stack.
1111

1212
---
1313

14-
<a href="http://geek-and-poke.com/geekandpoke/2010/5/14/how-to-become-invaluable.html">
14+
<a href="https://geek-and-poke.com/geekandpoke/2010/5/14/how-to-become-invaluable.html">
1515
<img src="../../../img/geek-and-poke-invaluable.png" style="float:right" width="45%"/>
1616
</a>
1717

@@ -68,7 +68,7 @@ as it is performed.
6868

6969
EasyBuild supports using a **custom module naming scheme**, allows for
7070
*hierarchical* module naming schemes, and **integrates with various other tools** ranging from resource managers ([Slurm](https://slurm.schedmd.com) and [GC3Pie](https://github.com/gc3pie/gc3pie)),
71-
container tools ([Singularity](https://github.com/hpcng/singularity) and [Docker](https://www.docker.com)),
71+
container tools ([Singularity](https://github.com/apptainer/singularity) and [Docker](https://www.docker.com)),
7272
packaging tools ([FPM](https://fpm.readthedocs.io)), and so on.
7373

7474
---
@@ -127,7 +127,7 @@ and to [**contribute back**](https://docs.easybuild.io/en/latest/Contributing.ht
127127
by opening pull requests to the [GitHub repositories](https://github.com/easybuilders) or the [documentation](https://docs.easybuild.io).
128128

129129
The EasyBuild community also provides packages for two standard toolchains, called the
130-
[**common toolchains**](https://easybuild.readthedocs.io/en/latest/Common-toolchains.html).
130+
[**common toolchains**](https://docs.easybuild.io/en/latest/Common-toolchains.html).
131131
The so-called ``foss`` is based on free and open software (GNU compilers, FlexiBlas with OpenBLAS backend, LaPACK, FFTW and Open MPI)
132132
while the ``intel`` toolchain uses the full stack of Intel compilers, libraries and MPI. Currently these toolchains
133133
cannot be supported on LUMI though as getting Open MPI to run on LUMI is challenging and as the Intel libraries and
@@ -137,7 +137,7 @@ Focusing the efforts on those two popular common toolchains makes it possible to
137137
collected in the [central repository](https://github.com/easybuilders/easybuild-easyconfigs).
138138
They can still serve as a basis to develop build recipes for the HPE Cray Programming Environment.
139139

140-
Last but not least, EasyBuild provides various [**GitHub integration features**](https://easybuild.readthedocs.io/en/latest/Integration_with_GitHub.html)
140+
Last but not least, EasyBuild provides various [**GitHub integration features**](https://docs.easybuild.io/en/latest/Integration_with_GitHub.html)
141141
that greatly facilitate the contribution process: opening, updating, and testing pull requests,
142142
reviewing incoming contributions, and much more can all be done directly from the EasyBuild
143143
command line. This not only saves time, effort, brain cycles, and mouse clicks for contributors,
@@ -225,12 +225,12 @@ sites leverage it, and integrate it with other tools like [Jenkins](https://www.
225225

226226
HPC sites, consortia, and companies that use EasyBuild include (but are not limited to):
227227

228-
<a href="https://vscentrum.be"><img src="../../../img/vsc_logo.png" alt="VSC logo" width="40%"></a>
228+
<a href="https://www.vscentrum.be"><img src="../../../img/vsc_logo.png" alt="VSC logo" width="40%"></a>
229229
<a href="https://www.fz-juelich.de/ias/jsc"><img src="../../../img/jsc_logo.png" alt="JSC logo" width="28%"></a>
230230
<a href="https://hpcnow.com/"><img src="../../../img/hpcnow_logo.png" alt="HPCNow! logo" width="25%"></a>
231231
<a href="https://www.fredhutch.org/"><img src="../../../img/fredhutch_logo.png" alt="Fred Hutch logo" width="22%"></a>
232232
<a href="https://www.viennabiocenter.org/"><img src="../../../img/vienna_biocenter_logo.png" alt="Vienna BioCenter logo" width="23%"></a>
233-
<a href="http://www.ceci-hpc.be/"><img src="../../../img/ceci_logo.png" alt="CÉCI logo" width="18%"></a>
233+
<a href="https://www.ceci-hpc.be/"><img src="../../../img/ceci_logo.png" alt="CÉCI logo" width="18%"></a>
234234
<a href="https://www.computecanada.ca/home/"><img src="../../../img/computecanada_logo.png" alt="Compute Canada logo" width="32%"></a>
235235
<a href="https://www.uio.no/english/services/it/research/hpc/"><img src="../../../img/uio_logo.png" alt="UiO logo" width="25%"></a>
236236
<a href="https://intranet.birmingham.ac.uk/bear"><img src="../../../img/bear_logo.png" alt="BEAR logo" width="20%"></a>
@@ -242,7 +242,7 @@ HPC sites, consortia, and companies that use EasyBuild include (but are not limi
242242
<a href="https://dashboard.hpc.unimelb.edu.au/"><img src="../../../img/univ_melbourne_logo.png" alt="University of Melbourne logo" width="16%"></a>
243243
<a href="https://hpc.uni.lu/"><img src="../../../img/unilu_logo.png" alt="University of Luxembourg logo" width="18%"></a>
244244
<a href="https://www.epcc.ed.ac.uk/"><img src="../../../img/epcc_logo.png" alt="EPCC logo" width="21%"></a>
245-
<a href="http://hpcf.cyi.ac.cy/"><img src="../../../img/cyi_logo.png" alt="Cyprus Institute logo" width="26%"></a>
245+
<a href="https://hpcf.cyi.ac.cy/"><img src="../../../img/cyi_logo.png" alt="Cyprus Institute logo" width="26%"></a>
246246
<a href="https://scicore.unibas.ch/"><img src="../../../img/basel_logo.png" alt="University of Basel logo" width="26%"></a>
247247
<a href="https://techcommunity.microsoft.com/t5/azure-global/running-long-hpc-jobs-on-azure-with-checkpointing-using-lammps/ba-p/1335148"><img src="../../../img/microsoft_logo.png" alt="Microsoft logo" width="23%"></a>
248248

docs/2022-CSC_and_LO/1_Intro/1_02_Lmod.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ to a hierarchy with 3 levels:
7878
Here is a simple example of such a 3-level module hierarchy
7979
(that almost could have been generated by EasyBuild):
8080

81-
<div align="center"><img src="../../img/hmns.png" width="60%"/></div>
81+
<div align="center"><img src="../../../img/hmns.png" width="60%"/></div>
8282

8383
In this example the ``Core`` level only includes a single module `GCC/9.3.0`,
8484
while the ``Compiler`` level includes two modules: `OpenMPI/4.0.3` and `MPICH/3.3.2`.
@@ -268,7 +268,7 @@ is included in the module files to improve discoverability of software.
268268

269269
!!! Note "Documentation in the LUMI documentation"
270270
Extensive information on search commands with examples of how to use them on LUMI can be found
271-
in the [LUMI documentation]([https://)](https://docs.lumi-supercomputer.eu/), in
271+
in the [LUMI documentation](https://docs.lumi-supercomputer.eu/), in
272272
[the computing section, "Module environment page", "Finding modules" section](https://docs.lumi-supercomputer.eu/computing/Lmod_modules/#finding-modules).
273273

274274

docs/2022-CSC_and_LO/1_Intro/1_03_CPE.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,8 @@ LUMI environment and the integration with the Cray environment still seems to be
122122
The Cray PE also provides a programming environment module to enable
123123
the Intel® oneAPI compiler and tools.
124124

125-
The documentation is available in the [Intel® oneAPI Programming Guide](https://software.intel.com/content/www/us/en/develop/documentation/oneapi-programming-guide/top/oneapi-development-environment-setup.html)
125+
The documentation is available in the
126+
[Intel® oneAPI Programming Guide](https://www.intel.com/content/www/us/en/develop/documentation/oneapi-programming-guide/top/oneapi-development-environment-setup.html)
126127

127128
Cray provides a bundled package of support libraries to install into the Cray PE to enable the Intel compiler, allowing
128129
utilities such as debuggers and performance tools to work with it.
@@ -166,7 +167,7 @@ The CSML collection contains the following Scientific Libraries:
166167

167168
* Manpages: `intro_mpi`
168169

169-
* Website: [http://www.mpi-forum.org](http://www.mpi-forum.org)
170+
* Website: [http://www.mpi-forum.org](https://www.mpi-forum.org)
170171

171172
MPI is a widely used parallel programming model that establishes a practical, portable, efficient,
172173
and flexible standard for passing messages between ranks in parallel processes.

docs/2022-CSC_and_LO/1_Intro/1_05_terminology.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,11 @@ The `foss` toolchain consists of all open source components (hence the name:
8585
In recent versions (since 2021a), [FlexiBLAS](https://www.mpi-magdeburg.mpg.de/projects/flexiblas)
8686
is used as the BLAS library, with OpenBLAS and LAPACK as the backend.
8787

88-
The `intel` toolchain consists of the [Intel C, C++ and Fortran compilers](https://software.intel.com/content/www/us/en/develop/tools/compilers.html) (on top of a `GCC` version
89-
controlled through EasyBuild) alongside the [Intel MPI](https://software.intel.com/content/www/us/en/develop/tools/mpi-library.html) and [Intel MKL](https://software.intel.com/content/www/us/en/develop/tools/math-kernel-library.html) libraries.
88+
The `intel` toolchain consists of the
89+
[Intel C, C++ and Fortran compilers](https://www.intel.com/content/www/us/en/developer/tools/oneapi/dpc-compiler.html)
90+
(on top of a `GCC` version controlled through EasyBuild) alongside the
91+
[Intel MPI](https://www.intel.com/content/www/us/en/developer/tools/oneapi/mpi-library.html) and
92+
[Intel MKL](https://www.intel.com/content/www/us/en/developer/tools/oneapi/onemkl.html) libraries.
9093

9194
Roughly every 6 months, a new version of these common toolchains is agreed upon
9295
in the EasyBuild community, after extensive testing.

docs/2022-CSC_and_LO/1_Intro/1_06_installation.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,11 +85,11 @@ If you see output that starts with a line like "`VERSION=3.2.10`" or "`Modules R
8585
you have the original Tcl-based environment modules tool installed, either in its original
8686
C-based imnplementation (``VERSION=3.2.10``) or the new Tcl-based implementation developed at CEA
8787
(``Modules Release 4.5.0``)
88-
and <a href="https://easybuild.readthedocs.io/en/latest/Configuration.html#modules-tool-modules-tool">*EasyBuild will need to be configured to use it after installation*</a>.
88+
and <a href="https://docs.easybuild.io/en/latest/Configuration.html#modules-tool-modules-tool">*EasyBuild will need to be configured to use it after installation*</a>.
8989

9090
If the `module` function is not defined either you do not have a modules tool installed
9191
or your environment is not properly set up to use it. In this case,
92-
please refer to the EasyBuild documentation <a href="https://easybuild.readthedocs.io/en/latest/Installation.html#required-modules-tool">here</a> for more information.
92+
please refer to the EasyBuild documentation <a href="https://docs.easybuild.io/en/latest/Installation.html#required-modules-tool">here</a> for more information.
9393

9494
HPE Cray supports both the old-style Environments Modules (based on version 3.2.10) and Lmod. On LUMI,
9595
we use Lmod as the default module system for users, and EasyBuild is configured to use that one.
@@ -466,7 +466,7 @@ eb --show-config
466466
```
467467

468468
This should tell you that EasyBuild (ab)uses `$HOME/.local/easybuild` as a default location.
469-
More on configuring EasyBuild in the [next part of the tutorial](configuration).
469+
More on configuring EasyBuild in the [next part of the tutorial](../1_07_configuration).
470470

471471
#### System information
472472

docs/2022-CSC_and_LO/1_Intro/1_07_configuration.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ archive, the location of which is specified by the `repositorypath` configuratio
186186

187187
By default the specified path is assumed to be a regular directory, but using a Git repository
188188
as easyconfigs archive is also supported (for more details, see
189-
[the EasyBuild documentation](https://easybuild.readthedocs.io/en/latest/Configuration.html#easyconfigs-repository-repository-repositorypath)).
189+
[the EasyBuild documentation](https://docs.easybuild.io/en/latest/Configuration.html#easyconfigs-repository-repository-repositorypath)).
190190

191191

192192
---
@@ -204,7 +204,7 @@ are using a different modules tool; see the output of `eb --avail-modules-tools`
204204
modules tools.
205205
Note that for anything other than Lmod, you *must* make
206206
sure that the actual modules tool binary command is available through `$PATH` (more information
207-
on this [in the EasyBuild documentation](https://easybuild.readthedocs.io/en/latest/Configuration.html#modules-tool-modules-tool)).
207+
on this [in the EasyBuild documentation](https://docs.easybuild.io/en/latest/Configuration.html#modules-tool-modules-tool)).
208208

209209
If you prefer that EasyBuild generates module files in [Tcl](https://tcl.tk/) syntax, you can instruct
210210
it to do so via the `module-syntax` configuration setting. Note that this is *required* if you are using
@@ -246,7 +246,7 @@ software.***
246246
There are ways around this however, which are outside of the scope of this tutorial.
247247

248248
For more information,
249-
[see the EasyBuild documentation](https://easybuild.readthedocs.io/en/latest/Using_the_EasyBuild_command_line.html#controlling-robot-search-path).
249+
[see the EasyBuild documentation](https://docs.easybuild.io/en/latest/Using_the_EasyBuild_command_line.html#controlling-robot-search-path).
250250

251251
*On LUMI the included easyconfig files cannot be used without changes as they are for the
252252
common toolchains which are currently not supported in the LUMI software stacks.*
@@ -280,7 +280,7 @@ The default `EasyBuildMNS` module naming scheme roughly corresponds to the filen
280280
and consists of the software name followed by a combination of the software version, toolchain and
281281
an optional label (which corresponds to the value of the `versionsuffix` easyconfig parameter):
282282
`<name>/<version><-toolchain><versionsuffix>`. Just like with [names of easyconfig
283-
files](1_05_terminology#easyconfig-files), the `<-toolchain>` part is omitted when the `system` toolchain is used,
283+
files](../1_05_terminology#easyconfig-files), the `<-toolchain>` part is omitted when the `system` toolchain is used,
284284
and the `<versionsuffix>` value is empty by default.
285285

286286
!!! Note "Module naming scheme on LUMI"
@@ -366,9 +366,9 @@ across different software installations. They define *configuration settings*,
366366
such as the location where software should be installed, or the syntax that should
367367
be used when generating module files.
368368

369-
An [easyconfig file](1_05_terminology#easyconfig-files) (`*.eb`) on the other hand *specifies the details for one particular software installation*.
369+
An [easyconfig file](../1_05_terminology#easyconfig-files) (`*.eb`) on the other hand *specifies the details for one particular software installation*.
370370
It does this by defining a set of *easyconfig parameters*, which tell EasyBuild the name and version
371-
of the software to install, which [toolchain](1_05_terminology#toolchains) and [easyblock](1_05_terminology#easyblocks) to use, etc.
371+
of the software to install, which [toolchain](../1_05_terminology#toolchains) and [easyblock](../1_05_terminology#easyblocks) to use, etc.
372372

373373
For each software installation performed by EasyBuild, there is a corresponding easyconfig file.
374374
There typically are only a handful of configuration files used however, for example a system-level

docs/2022-CSC_and_LO/1_Intro/1_08_basic_usage.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ operations involving lots of (small) files can be slow.
189189
190190
For the easyconfig files included with an EasyBuild release, a search index is readily provided.
191191
For other directories, you can create a search index using `eb --create-index <path>`.
192-
[See the EasyBuild documentation for more information](https://easybuild.readthedocs.io/en/latest/Easyconfigs_index.html).
192+
[See the EasyBuild documentation for more information](https://docs.easybuild.io/en/latest/Easyconfigs_index.html).
193193
194194
---
195195
@@ -307,7 +307,7 @@ are already installed, and which ones are still missing.
307307
This can be helpful to ensure that your EasyBuild configuration is set up correctly,
308308
and to prevent from accidentally installing an entirely new software stack from scratch
309309
in an unintended location (like `$HOME/.local/easybuild`, the
310-
[default installation path](../configuration/#install-path)).
310+
[default installation path](../1_07_configuration/#install-path)).
311311

312312
---
313313

docs/2022-CSC_and_LO/2_Using/2_01_troubleshooting.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@ Things that could go wrong during an installation include:
2828
* required dependencies that are not specified in the easyconfig file;
2929
* failing shell commands;
3030
* running out of available memory or disk space;
31-
* a segmentation fault caused by a flipped bit triggered by a cosmic ray ([really, it happens!](https://blogs.oracle.com/linux/attack-of-the-cosmic-rays-v2));
31+
* a segmentation fault caused by a flipped bit triggered by a cosmic ray
32+
([really, it happens!](https://blogs.oracle.com/linux/post/attack-of-the-cosmic-rays));
3233

3334
Unfortunately this is not an exhaustive list, there are plenty of other
3435
potential problems that could result in a failing installation...
@@ -219,7 +220,7 @@ Let's work our way through a less smooth software installation,
219220
using the easyconfig file that is provided below.
220221

221222
Don't worry if most of this is still unclear to you, we'll get
222-
to writing easyconfig files from scratch [later in this tutorial](2_02_creating_easyconfig_files).
223+
to writing easyconfig files from scratch [later in this tutorial](../2_02_creating_easyconfig_files).
223224

224225
```python
225226
easyblock = 'MakeCp'

docs/2022-CSC_and_LO/2_Using/2_02_creating_easyconfig_files.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -58,15 +58,15 @@ Reasons to consider implementing a software-specific easyblock rather than using
5858
bootstrapping with the system compiler and then re-installing with itself.*
5959

6060
For implementing easyblocks we refer to the
61-
["Implementing easyblocks" section of this tutorial](2_03_implementing_easyblocks)
61+
["Implementing easyblocks" section of this tutorial](../2_04_implementing_easyblocks)
6262
and the [EasyBuild documentation](https://docs.easybuild.io/en/latest/Implementing-easyblocks.html).
6363

6464
## Writing easyconfig files
6565

6666
Writing an easyconfig file boils down to defining a set of easyconfig parameters in a text file,
6767
which we give a '`.eb`' extension by convention. The name of an easyconfig file doesn't matter
6868
when using it directly to install software, but it does matter when EasyBuild needs to find it
69-
to resolve a dependency for example (as we [discussed earlier](../1_08_basic_usage/#easyconfig-filenames)).
69+
to resolve a dependency for example (as we [discussed earlier](../../1_Intro/1_08_basic_usage/#easyconfig-filenames)).
7070

7171
The syntax for easyconfig files is *Python syntax*: you are basically defining a bunch of Python variables
7272
that correspond to easyconfig parameters.
@@ -469,7 +469,7 @@ moduleclass = 'lib'
469469
```
470470
471471
This is done to categorize software, and it is used to group the generated module files into smaller sets
472-
([remember what we saw when installing software earlier](../1_08_basic_usage/#using-installed-software)).
472+
([remember what we saw when installing software earlier](../../1_Intro/1_08_basic_usage/#using-installed-software)).
473473
474474
This is currently not used on LUMI since we feel that (a) it is not easy to explain to users how they can
475475
then only make certain classes that are useful to them visible and more importantly (b) since it is not
@@ -590,9 +590,9 @@ In this simple case it doesn't, since we can leverage one of the available *gene
590590
But, which one?
591591
592592
Build instructions are usually included in a `README` file, or in the documentation.
593-
In this case, there's indeed a minimal [`README`
594-
file](https://github.com/easybuilders/easybuild-tutorial/tree/main/docs/files/eb-tutorial-1.0.1/README) available,
595-
which tells us that we should use the `cmake` command to configure the installation, followed by `make` and `make install`.
593+
In this case, there's indeed a minimal
594+
[`README` file](https://github.com/easybuilders/easybuild-tutorial/blob/main/docs/files/eb-tutorial-1.0.1/README)
595+
available, which tells us that we should use the `cmake` command to configure the installation, followed by `make` and `make install`.
596596
597597
[We briefly discussed](#easyblock) a generic easyblock that does exactly this: `CMakeMake`.
598598

0 commit comments

Comments
 (0)