Software Requirements and Dependencies¶
The überSpark toolkit relies on the
docker independent container platform, with the goal of supporting a wide variety of CoSS
development environments and architectures (e.g., Ubuntu, Debian, Fedora, Windows WSL. etc.). The toolkit
has the following pre-requisites:
- a x86_64 Linux-based development environment (e.g., Ubuntu). This can be a baremetal system, a VM or Windows Subsystem for Linux (Windows 10, 18.03, Spring 2018 or newer).
dockerindependent container platform (see https://docker.com)
makeutility capable of reading Makefiles with
GNU makecompatible syntax.
Docker Installation on Baremetal System or VM¶
If you are using a baremetal system or VM you can use the official docker installation guide as your reference:
The docker installation guide covers all the necessary steps required to install the Docker-CLI and Docker-daemon on a variety of Linux platforms such as Ubuntu, Debian, Fedora etc.
For example, on Ubuntu 18.04 LTS x86_64 you need to execute the following commands in a terminal:
# Update the apt package list. sudo apt-get update -y # Install Docker's package dependencies. sudo apt-get install -y \ apt-transport-https \ ca-certificates \ curl \ software-properties-common # Download and add Docker's official public PGP key. curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - # Verify the fingerprint. sudo apt-key fingerprint 0EBFCD88 # Add the `stable` channel's Docker upstream repository. # You can change `stable` below to `test` or `nightly` if you prefer living on the edge! sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable" # Update the apt package list (for the new apt repo). sudo apt-get update -y # Install the latest version of Docker CE. sudo apt-get install -y docker-ce # Allow your user to access the Docker CLI without needing root access. sudo usermod -aG docker $USER
At this point you must close your terminal and open a new one so that you can run Docker without sudo.
Docker Installation on Windows Subsystem for Linux¶
If you are using Windows Subsystem for Linux (WSL), then as a first step you need to install the Docker Desktop on Windows as described in the link below:
When the docker installation wizard starts up be sure to
uncheck the checkbox
prompt: use Windows containers instead of Linux Containers. This will allow Docker
to use Linux Containers within a Hyper-V light-weight VM.
After Docker installs successfully, and the Docker Desktop application starts up,
right-click on the Docker Desktop tray icon. Then proceed to
expose daemon on tcp://localhost:2375 without TLS option.
You may also want to share any drives you plan on having your source
code on. This can be accomplished via
Shared Drives dialog.
At this point, you need to start a WSL instance and install Docker as described in the previous section: Docker Installation on Baremetal System or VM.
The next step is to configure WSL so that it knows how to connect to the remote Docker daemon running in Docker for Windows (listening on port 2375). This can be done with a one-liner within the WSL terminal as shown below:
echo "export DOCKER_HOST=tcp://localhost:2375" >> ~/.bashrc && source ~/.bashrc
The above command just adds the export line to your .bashrc file so it’s available every time you open your WSL terminal.
The source command in the one-liner above reloads your bash configuration so you do not have to open a new terminal right now for it to take effect.
The last thing we need to do is set things up so that volume mounts work.
When using WSL, Docker for Windows expects you to supply your volume paths in a
format that matches this:
But, WSL instead uses the
To get things to work, you can configure WSL to mount with the
/ prefix instead
/mnt prefix as below:
# Create and modify the new WSL configuration file: sudo nano /etc/wsl.conf # Now make it look like this and save the file when you're done: [automount] root = / options = "metadata"
root = / to ensure that drives are mounted at
/e instead of
options = "metadata" line is optional but will fix folder and file permissions
on WSL mounts so everything is not displayed with
777 all the time within the WSL mounts.
You will need to perform a full system restart to ensure the changes take effect.
GNU Make Installation¶
You can install GNU Make within a terminal (baremetal, VM or WSL) using your distribution specific method. For example, on Ubuntu and Debian based distributions you would use:
sudo apt-get update sudo apt-get -y install make