...
- Install Oracle Virtual Box on your desktop or laptop. You can then install your own Linux virtual machine with the Singularity rpm, giving yourself root/sudo privilege on that VM. This will allows allow you to build an image. The solution works for both Windows, Mac and Linux desktop/laptop.
- Similarly, one can install Docker on your desktop or laptop. Then install / pull a Linux Docker container and install Singularity rpm in the container. The rest is the same as above.
- Build what you need in a Docker image and upload to Docker Hub, and on a SLAC Linux host, use command "
singularity pull your_docker_image
" to convert and save it as a Singularity image.
If you want to do none of the above, you have an option to build a Singularity container image without root on a SLAC CentOS 7 machine. This method is a bit of hacking so it may not work in the future when Singularity makes significant changes. The follows following are the steps to do this, assuming you are on a SLAC CentOS 7 public login node (centos7.slac.stanford.edu), you your current directory is /tmp, and you want to build a CentOS based Singularity container image:
...