The Official Documentation can be found at https://sylabs.io/guides/3.0/user-guide/installation.html
Prerequisites 1 – Go
Go to the Download Page https://go.dev/dl/ to download the Linux Version.
Extract the archive you downloaded into /usr/local, creating a Go tree in /usr/local/go.
This step below will remove a previous installation at /usr/local/go, if any, prior to extracting. Please back up any data before proceeding.
% rm -rf /usr/local/go && tar -C /usr/local -xzf go1.18.3.linux-amd64.tar.gz
Add /usr/local/go/bin to the
PATH environment variable. You can do this by adding the following line to your $HOME/.profile or /etc/profile (for a system-wide installation):
Verify the Installation with the command
% go version
To download Singularity, do visit the download site. Singularity uses a build system called makeit. mconfig is called to generate Makefile and them make is used to compile and install
% git clone https://github.com/sylabs/singularity.git --recurse-submodules
% cd singularity % ./mconfig --prefix=/usr/local/singularity-ce-3.10.0 % cd builddir % make % make install
..... ..... checking: header linux/securebits.h... yes checking: header linux/capability.h... yes checking: libseccomp+headers... yes checking: conmon source... no conmon source not found Unless you are building --without-conmon you must 'git clone --recurse-submodules' or 'git submodule update --init'.
You may want to install glib2-devel, delete the singularity directory and make the singularity again.
% dnf install glib2-devel
Remote the cloned singularity directory and git clone again
% rm -Rv --force singularity % git clone https://github.com/sylabs/singularity.git --recurse-submodules
Recompile with mconfig again. If successful, it should be something like
=> generating fragments ... => building Makefile ... => generating singularity-ce.spec ... => project singularity-ce setup with : - host arch: x86_64 - host wordsize: 64-bit - host C compiler: cc - host Go compiler: /usr/local/go-1.18.3/bin/go - host system: unix --- - target arch: x86_64 - target wordsize: 64-bit - target C compiler: cc --- - config profile: release --- - SUID install: yes - Network plugins: yes - seccomp support: yes - Build conmon: yes --- - verbose: no --- - cryptsetup: /usr/sbin/cryptsetup --- - version: 3.10.0+21-g1b1a05ff8
% cd builddir % make % make install
As long as you see a cow your installation is working properly…….
% singularity run library://godlovedc/funny/lolcow
< Exercise caution in your daily affairs. > ----------------------------------------- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || ||