gap-system / gap-container Goto Github PK
View Code? Open in Web Editor NEWMinimalistic GAP docker container (core system and GAPDoc only)
Home Page: https://hub.docker.com/r/gapsystem/gap-container/
License: GNU General Public License v2.0
Minimalistic GAP docker container (core system and GAPDoc only)
Home Page: https://hub.docker.com/r/gapsystem/gap-container/
License: GNU General Public License v2.0
Can we change the ownership of the inst-directory in the container to the gap-user? This would resolve at least gap-system/gap-docker#8 and maybe also gap-system/gap-docker#9 . Also, since this folder lies in the home-directory of the gap user, this would be the better practice.
Done in ba8b6c1 - waiting for tests to pass.
Sign up page is here: https://hub.docker.com/account/signup/
The Dockerfile
has
RUN sudo apt-get update -qq \
&& sudo apt-get -qq install -y build-essential m4 libreadline6-dev libncurses5-dev wget unzip libgmp3-dev cmake \
&& adduser --quiet --shell /bin/bash --gecos "GAP user,101,," --disabled-password gap \
...
I believe that replace it with
RUN sudo apt-get update -qq
RUN sudo apt-get -qq install -y build-essential m4 libreadline6-dev libncurses5-dev wget unzip libgmp3-dev cmake
RUN adduser --quiet --shell /bin/bash --gecos "GAP user,101,," --disabled-password gap \
...
is the Docker way because
groupoids package by @cdwensley currently crashes in the master branch if Semigroups package is loaded: see for example https://travis-ci.org/gap-system/gap-docker-pkg-tests-master/jobs/333933165 :
terminate called after throwing an instance of 'std::system_error'
what(): Enable multithreading to use std::thread: Operation not permitted
Indeed, the version of gcc there is 4.8.4 and @james-d-mitchell confirms that it is not compatible with Semigroups (although I haven't been able to find in Semigroups documentation what is the minimal compatible version then).
It will be useful to upgrade the compiler to some modern version - that will not only help to groupoids tests, but to other tests involving Semigroups, and to users who would like to use Semigroups in the Docker container.
What is "work in progress" has been achieved and thrives...
This page:
https://github.com/futurecore/parallella-devenv/blob/master/screenshots/HOWTO.md
describes how to create an animated gif of the command line. This would be useful documentation for the README of this repository.
The current container includes GAP and several packages. It would be more convenient to have a basie image which includes GAP and then derive other containers for each package.
The FROM
keyword is useful here: https://docs.docker.com/reference/builder/#from
It may also be worth considering whether and how to use tags: https://docs.docker.com/userguide/dockerimages/#setting-tags-on-an-image
Would it be a good idea to create an image called gap_base or something containing the Ubuntu-packages needed for GAP and software like polymake, 4ti2, and Singular, maybe also M2, which are requested by some GAP packages. Building an GAP-image on top of such an image would make it easier to update the GAP image. The gap_base would then only be updated if newer versions are needed.
Time to update GAP Docker containers...
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.