bargees / barge-os

Yet another lightweight Linux distribution for Docker containers
GNU General Public License v2.0
163 stars 15 forks source link

[Feature Request]Upgrade singularity in bargeOS.img from 2.6.0 to 3.7.2 #108

Open diyism opened 3 years ago

diyism commented 3 years ago

Yesterday, I found Singularity(https://sylabs.io/guides/3.7/user-guide/quick_start.html#install), It's awesome, I think it's far easier to use than docker.(especially its sanbox feature, it's very convenient for finding package changes)

And what surprised me even more is that bargeOS has integrated Singularity many years ago.(pkg install singularity)

But the version is too old(2.6.0), do you have time to upgrade the Singularity?

ailispaw commented 3 years ago

Thank you so much for stopping by and sorry for this late reply.

I am still thinking how I can restart the Barge project in the near future.

Meanwhile, you may be able to build it by yourself with https://github.com/ailispaw/singularity-barge/tree/v3.0 .

diyism commented 3 years ago

Thanks, I'll give a try. "Barge project + singularity" is very useful in my mind, they're far more easier to use than "Barge+Docker".

ailispaw commented 2 years ago

Updated https://github.com/ailispaw/singularity-barge/tree/v3.0

diyism commented 2 years ago

I've tried the Vagrantfile, it's very convenient, it seems successfully boot the bargeOS virtualbox image and built the singularity 3.9.9 in it:

singularity-barge: Running provisioner: shell...
    singularity-barge: Running: inline script
    singularity-barge: Installing...
    singularity-barge: barge-pkg-singularity-2.13.0 has been installed into the system.

but when I run "vagrant ssh" and "singularity -h", the error shows: singularity: symbol lookup error: singularity: undefined symbol: seccomp_notify_respond

I've tried "pkg install libseccomp", the error is still there.

ailispaw commented 2 years ago

Can you try it with a new box there? https://github.com/bargees/barge-packer/releases/tag/3.0.0-dev2

To try the box,

  1. Download the box from https://github.com/bargees/barge-packer/releases/download/3.0.0-dev2/barge-vbox.box
  2. Install the box to vagrant
    vagrant box add -f barge barge-vbox.box
  3. Modify the Vagrantfile for the new barge box
    #  config.vm.box = "ailispaw/barge"
    config.vm.box = "barge"
  4. vagrant up
ailispaw commented 2 years ago

Barge v2.13.0 has libseccomp v2.4.0 Barge v3.0.0-dev has libseccomp v2.5.3

ailispaw commented 2 years ago

It seems that seccomp_notify_respond was added in libseccomp v2.5.0. https://www.paul-moore.com/blog/d/2020/07/libseccomp_v250.html

diyism commented 2 years ago

Tested it, the barge v3.0.0-dev works:

$ singularity version
3.2.1
ailispaw commented 2 years ago

version 3.2.1 ?

diyism commented 2 years ago

My fault, I need "vagrant box remove ailispaw/barge" first:

$ vagrant box list
barge (virtualbox, 0)

To modify Vagrantfile:

config.vm.box = "barge"
config.vm.box_version = ">= 0"

Then "vagrant up", and "vagrant ssh":

$ vagrant ssh
Welcome to Barge 3.0.0-dev, Docker version 20.10.12, build buildroot
[bargee@barge ~]$ singularity version
3.9.9

Everything is ok now.

ailispaw commented 2 years ago

I see, but I don't think that you need to remove the box ailispaw/barge, if you modify to config.vm.box = "barge" without the version line. Anyway, thank you so much for your time to check it out.