aboutsummaryrefslogtreecommitdiff
path: root/reproduce/software/containers/README-apptainer.md
diff options
context:
space:
mode:
authorMohammad Akhlaghi <mohammad@akhlaghi.org>2025-05-05 21:48:45 +0200
committerMohammad Akhlaghi <mohammad@akhlaghi.org>2025-05-07 21:18:31 +0200
commit2881fc0a6205d593512458c24f3b681d12921005 (patch)
treedae9c18302a0362b2ba8d2d7e67f1c7332266668 /reproduce/software/containers/README-apptainer.md
parenta1f8947ab7784af4b7e66c617ce19a8bdd9c99ed (diff)
Configuration: basic software build with host GCC 15.1HEADmaneage
Summary: this will not affect already built/configured projects, only improving the portability of future builds. Until this commit, no specific C standard version was given during the build of Basic software (which use the host's c compiler, culminating in the building of GCC within Maneage). On the other hand, GCC 15.1 was recentely released and made available on some operating systems. GCC 15.1 has made C23 its standard C version (from C17), as a result, some of the basic software crashed and didn't allow Maneage to built on those operating systems. With this commit, the '-std=c17' flag has been added to software that crashed when the host GCC was 15.1. Also, they have been grouped with a description of this problem in 'versions.conf' so we check the need for this option in future version updates. In parallel, some minor edits/clarifications were made in the two 'README-apptainer.md' and 'README-docker.md' files to be more useful.
Diffstat (limited to 'reproduce/software/containers/README-apptainer.md')
-rw-r--r--reproduce/software/containers/README-apptainer.md38
1 files changed, 20 insertions, 18 deletions
diff --git a/reproduce/software/containers/README-apptainer.md b/reproduce/software/containers/README-apptainer.md
index 9608dc8..a7826ec 100644
--- a/reproduce/software/containers/README-apptainer.md
+++ b/reproduce/software/containers/README-apptainer.md
@@ -22,24 +22,22 @@ analysis files (data and PDF) on your host operating system. This enables
you to keep the size of the image to a minimum (only containing the built
software environment) to easily move it from one computer to another.
- 1. Using your favorite text editor, create a `apptainer-local.sh` in your
- project's top directory that contains the usage command shown at the
- top of the 'apptainer.sh' script and take the following steps:
- * Set the respective directories based on your own preferences.
- * The `--software-dir` is optional (if you don't have the source
- tarballs, Maneage will download them automatically. But that requires
- internet (which may not always be available). If you regularly build
- Maneage'd projects, you can clone the repository containing all the
- tarballs at https://gitlab.cefca.es/maneage/tarballs-software
- * Add an extra `--build-only` for the first run so it doesn't go onto
- doing the analysis and just builds the image. After it has completed,
- remove the `--build-only` and it will only run the analysis of your
- project.
-
- 2. Once step one finishes, the build directory will contain two
- Singularity Image Format (SIF) files listed below. You can move them to
- any other (more permanent) positions in your filesystem or to other
- computers as needed.
+ 1. Using your favorite text editor, create a `run.sh` in your top Maneage
+ directory (as described in the comments at the start of the
+ `apptainer.sh` script in this directory). Just add `--build-only` on
+ the first run so it doesn't go onto doing the analysis and just sets up
+ the software environment. Set the respective directory(s) based on your
+ filesystem (the software directory is optional). The `run.sh` file name
+ is already in `.gitignore` (because it contains local directories), so
+ Git will ignore it and it won't be committed by mistake.
+
+ 2. Make the script executable with `chmod +x ./run.sh`, and run it with
+ `./run.sh`.
+
+ 3. Once the build finishes, the build directory (on your host) will
+ contain two Singularity Image Format (SIF) files listed below. You can
+ move them to any other (more permanent) positions in your filesystem or
+ to other computers as needed.
* `maneage-base.sif`: image containing the base operating system that
was used to build your project. You can safely delete this unless you
need to keep it for future builds without internet (you can give it
@@ -49,6 +47,10 @@ software environment) to easily move it from one computer to another.
project. This file is necessary for future runs of your project
within the container.
+ 3. To execute your project remote the `--build-only` and use `./run.sh` to
+ execute it. If you want to enter your Maneage'd project shell, add the
+ `--project-shell` option to the call inside `./run.sh`.
+