Although Singularity may be provided by your OS, it may be of an older than required for a given image. You can test if your version of singularity supports a particular image with:
$ singularity inspect <image>.simg
If you get an “Unknown image format/type” error then your Singularity version is likely too old.
Below copies an example install session. For details, see
instructions at sylabs. The info on the lbl.gov site may be out of
date and in particular, one needs to install and uses go
.
As root:
# apt-get update && sudo apt-get install -y \ build-essential libssl-dev uuid-dev \ libgpgme11-dev squashfs-tools libseccomp-dev pkg-config # dpkg --purge singularity-container # cd /root # wget https://dl.google.com/go/go1.11.5.linux-amd64.tar.gz # tar -C /usr/local -xf go1.11.5.linux-amd64.tar.gz
As user
$ export GOPATH=$HOME/opt/go $ export PATH=$GOPATH/opt/go/bin:/usr/local/go/bin:$PATH $ mkdir -p $GOPATH $ cd $GOPATH $ go get -u github.com/golang/dep/cmd/dep $ go get -d github.com/sylabs/singularity $ cd src/github.com/sylabs/singularity/ $ git checkout -b v3.0.3 v3.0.3
Do the build and install, will ask for your sudo password:
$ ./mconfig && \ make -C ./builddir && \ sudo make -C ./builddir install
If all goes well:
$ which singularity /usr/local/bin/singularity $ singularity --version singularity version 3.0.3 $ singularity inspect <image>.simg (no error)