2.7.1 2.7.1-trixielatest
2.7.1GCL Home Page
https://www.gnu.org/software/gcl/
Where to file Docker image related issues
https://gitlab.common-lisp.net/cl-docker-images/gcl
Where to file issues for GCL itself
https://savannah.gnu.org/projects/gcl/
Maintained by
CL Docker Images
Project
Supported platforms
linux/amd64
GCL, GNU Common Lisp, is the GNU project's Common Lisp. It descends from Kyoto Common Lisp (KCL) and AKCL, compiles Lisp to native code through C and the system's C compiler, and carries large systems such as Maxima and ACL2. Its maintainer is Camm Maguire.
Dockerfile in your GCL projectFROM clfoundation/gcl:latest
COPY . /usr/src/app
WORKDIR /usr/src/app
CMD [ "gcl", "-batch", "-load", "./your-daemon-or-script.lisp" ]
You can then build and run the Docker image:
$ docker build -t my-gcl-app .
$ docker run -it --rm --name my-running-app my-gcl-app
For many simple, single file projects, you may find it inconvenient to
write a complete Dockerfile. In such cases, you can run a Lisp script
by using the GCL Docker image directly:
$ docker run -it --rm --name my-running-script -v "$PWD":/usr/src/app -w /usr/src/app clfoundation/gcl:latest gcl -batch -load ./your-daemon-or-script.lisp
This image comes in one variant for now.
clfoundation/gcl:<version>This is the defacto image. It is designed to be used both as a throw away container (mount your source code and start the container to start your app), as well as the base to build other images off of.
Some of these tags may have names like trixie in them. These are the suite code names for releases of Debian and indicate which release the image is based on. If your image needs to install any additional packages beyond what comes with the image, you'll likely want to specify one of these explicitly to minimize breakage when there are new releases of Debian.
These images are built off the buildpack-deps image. It, by design, has a large number of extremely common Debian packages, including the C compiler GCL compiles through.
These images contain cl-launch, as the other CL Docker images do, to provide a uniform interface to running a Lisp implementation. On GCL 2.7.1 it does not work yet: cl-launch needs ASDF, GCL does not bundle ASDF, and released ASDF does not yet load on GCL 2.7.1.
There is no Quicklisp installer in these images: Quicklisp does not support GCL.
GCL sizes each process's heap from the machine's physical memory, not
from a container's memory limit. These images set GCL_MEM_BOUND=31,
which bounds each GCL process's heap at 4 GiB however large the host is.
Set GCL_MEM_BOUND to a larger n (a heap of 2(n+1) bytes)
for more, or unset it to let GCL size its heap from the machine's
memory.
GCL installs two Lisps: ANSI Common Lisp (saved_ansi_gcl) and GCL's
traditional CLtL1-flavored Lisp (saved_gcl). The gcl command starts
the ANSI one when GCL_ANSI is non-empty, and these images set
GCL_ANSI=1. Run with -e GCL_ANSI= (empty) for the traditional Lisp.
COMPLEMENT crashes with a segmentation
violation (the compiler warns that the variable SYSTEM::FN is
undefined). Interpreted calls work. Writing the test directly, for
instance with REMOVE-IF-NOT, avoids it.LOAD and PROBE-FILE resolve a relative pathname against the
process's working directory rather than merging it with
*DEFAULT-PATHNAME-DEFAULTS*. Merge explicitly, as in
(load (merge-pathnames "file.lisp")).GCL is licensed under the LGPL, with some components under the GPL. See
GCL's COPYING files for details.
The Dockerfiles used to build the images are licensed under BSD-2-Clause.
As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).
As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.
Content type
Image
Digest
sha256:bf687f330…
Size
410.5 MB
Last updated
about 18 hours ago
docker pull clfoundation/gcl