Skip to content

Commit 5116d02

Browse files
committed
updated installation procedure for 3.5.3
1 parent 6e0522b commit 5116d02

File tree

1 file changed

+50
-17
lines changed

1 file changed

+50
-17
lines changed

00-installation/README.md

Lines changed: 50 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,57 @@
11
# Installing Singularity
2-
Here we will install the latest tagged release from [GitHub](https://github.com/singularityware/singularity). If you prefer to install a different version or to install Singularity in a different location, see these [Singularity docs](http://singularity.lbl.gov/docs-installation).
2+
Here we will install the latest tagged release from [GitHub](https://github.com/singularityware/singularity). If you prefer to install a different version or to install Singularity in a different location, see these [Singularity docs](https://sylabs.io/guides/3.5/admin-guide/installation.html).
33

4-
We're going to compile Singularity from source code. First we'll need to make sure we have some development tools installed so that we can do that. On Ubuntu, run these commands to make sure you have all the necessary packages installed.
4+
We're going to compile Singularity from source code. First we'll need to make sure we have some development tools and libraries installed so that we can do that. On Ubuntu, run these commands to make sure you have all the necessary packages installed.
55

66
```
77
$ sudo apt-get update
88
9-
$ sudo apt-get -y install python build-essential debootstrap squashfs-tools libarchive-dev
9+
10+
$ sudo apt-get install -y build-essential libssl-dev uuid-dev libgpgme11-dev \
11+
squashfs-tools libseccomp-dev wget pkg-config git cryptsetup
1012
```
1113

1214
On CentOS, these commmands should get you up to speed.
1315

1416
```
15-
$ sudo yum update
17+
$ sudo yum -y update
1618
17-
$ sudo yum groupinstall 'Development Tools'
19+
$ sudo yum -y groupinstall 'Development Tools'
1820
19-
$ sudo yum install wget epel-release
21+
$ sudo yum -y install wget epel-release
2022
21-
$ sudo yum install debootstrap.noarch squashfs-tools libarchive-devel
23+
$ sudo yum -y install debootstrap.noarch squashfs-tools openssl-devel \
24+
libuuid-devel gpgme-devel libseccomp-devel cryptsetup-luks
25+
```
26+
27+
Singularity v3.0 was completely re-written in [Go](https://golang.org/). We will need to install the Go language so that we can compile Singularity. This procedure consists of downloading Go in a compressed archive, extracting it to `/usr/local/go` and placing the appropriate directory in our `PATH`. For more details, check out the [Go Downloads page](https://golang.org/dl/).
28+
29+
```
30+
$ wget https://dl.google.com/go/go1.13.linux-amd64.tar.gz
31+
32+
$ sudo tar --directory=/usr/local -xzvf go1.13.linux-amd64.tar.gz
33+
34+
$ export PATH=/usr/local/go/bin:$PATH
2235
```
2336

2437
Next we'll download a compressed archive of the source code (using the the `wget` command). Then we'll extract the source code from the archive (with the `tar` command).
2538

2639
```
27-
$ wget https://github.com/singularityware/singularity/releases/download/2.5.2/singularity-2.5.2.tar.gz
40+
$ wget https://github.com/singularityware/singularity/releases/download/v3.5.3/singularity-3.5.3.tar.gz
2841
29-
$ tar -xf singularity-2.5.2.tar.gz
42+
$ tar -xzvf singularity-3.5.3.tar.gz
3043
```
3144

3245
Finally it's time to build and install!
3346

3447
```
35-
$ cd singularity-2.5.2
48+
$ cd singularity
3649
37-
$ ./configure --prefix=/usr/local
50+
$ ./mconfig
3851
39-
$ make
52+
$ cd builddir
53+
54+
$ make
4055
4156
$ sudo make install
4257
```
@@ -62,10 +77,27 @@ $ singularity run docker://godlovedc/lolcow
6277
You should see something like the following.
6378

6479
```
65-
Docker image path: index.docker.io/godlovedc/lolcow:latest
66-
Cache folder set to /home/ubuntu/.singularity/docker
67-
[6/6] |===================================| 100.0%
68-
Creating container runtime...
80+
INFO: Converting OCI blobs to SIF format
81+
INFO: Starting build...
82+
Getting image source signatures
83+
Copying blob 9fb6c798fa41 done
84+
Copying blob 3b61febd4aef done
85+
Copying blob 9d99b9777eb0 done
86+
Copying blob d010c8cf75d7 done
87+
Copying blob 7fac07fb303e done
88+
Copying blob 8e860504ff1e done
89+
Copying config 73d5b1025f done
90+
Writing manifest to image destination
91+
Storing signatures
92+
2020/02/25 23:58:06 info unpack layer: sha256:9fb6c798fa41e509b58bccc5c29654c3ff4648b608f5daa67c1aab6a7d02c118
93+
2020/02/25 23:58:06 warn rootless{dev/agpgart} creating empty file in place of device 10:175
94+
[snip...]
95+
2020/02/25 23:58:09 info unpack layer: sha256:3b61febd4aefe982e0cb9c696d415137384d1a01052b50a85aae46439e15e49a
96+
2020/02/25 23:58:09 info unpack layer: sha256:9d99b9777eb02b8943c0e72d7a7baec5c782f8fd976825c9d3fb48b3101aacc2
97+
2020/02/25 23:58:09 info unpack layer: sha256:d010c8cf75d7eb5d2504d5ffa0d19696e8d745a457dd8d28ec6dd41d3763617e
98+
2020/02/25 23:58:09 info unpack layer: sha256:7fac07fb303e0589b9c23e6f49d5dc1ff9d6f3c8c88cabe768b430bdb47f03a9
99+
2020/02/25 23:58:09 info unpack layer: sha256:8e860504ff1ee5dc7953672d128ce1e4aa4d8e3716eb39fe710b849c64b20945
100+
INFO: Creating SIF file...
69101
_______________________________________
70102
/ Excellent day for putting Slinkies on \
71103
\ an escalator. /
@@ -79,5 +111,6 @@ Creating container runtime...
79111

80112
Your cow will likely say something different (and be more colorful), but as long as you see a cow your installation is working properly.
81113

82-
This command downloads, converts, and runs a container from [Docker Hub](https://hub.docker.com/r/godlovedc/lolcow/).
114+
This command downloads, converts, and runs a container from [Docker Hub](https://hub.docker.com/r/godlovedc/lolcow/). You will see a lot of warnings that have to do with the fact that you've created this container without using root privileges. Pay them no mind.
115+
83116
In the next exercise, we will learn how to build a similar container from scratch.

0 commit comments

Comments
 (0)