Installation of your Gendl-based System

| ^UP^ | Next->

You have several options for developing and deploying applications using Gendl and Genworks GDL. Gendl refers to an open-source project hosted at common-lisp.net whose copyright is owned by Genworks and which is licensed under the GNU Affero General Public License The AGPL licensing means essentially that Gendl and its derivatives can be used free of charge in any way you want, as long as you comply with AGPL by making available your application source code to your users. If you were to host or distribute a compiled Gendl application without complying with AGPL requirements, you would be putting yourself and any company you're associated with into legal jeopardy.

Please do not be concerned about legal jeopardy, however, as there are several ways to make good use of Gendl and KBE while avoiding this risk:

  • Host your application source code at a public repository such as Github or a Gitlab instance.
  • Host your running applications using our Hosting Infrastructure (coming soon), which will automatically take care of offering source code to users.
  • Contact Genworks and arrange to purchase a commercial Genworks GDL seat (these seats are built with commercial Allegro Common Lisp and come with technical support as well as other Enterprise-oriented features.)

Recommended: the Skewed-Emacs Containerized Environment

The most expedient way to get a complete, working Gendl development environment -- preconfigured Emacs, running Gendl backends, SLIME connectivity, and optional AI-agent (MCP) wiring -- is the open-source skewed-emacs project from Gornskew. It runs everything in Docker containers and leaves your host machine untouched, so there is nothing to uninstall if you change your mind.

With Docker installed (on Windows, the easiest route is WSL2 with Docker inside it), the entire setup is:

git clone https://github.com/gornskew/skewed-emacs.git
cd skewed-emacs
./compose-dev up

This pulls and starts a containerized Emacs with the skewed-emacs configuration, alongside companion Gendl containers (Clozure CL and SBCL variants), ready for hands-on work in Emacs/SLIME or for driving from an AI coding agent over MCP. Your shell gains two helper functions, eskew and egskew, for hopping into the running Emacs. See the README for details, client configurations, and a first-session transcript.

Alternative Installation Methods

If the containerized route does not fit your situation -- no Docker, a restricted environment, or simply a preference for a native installation -- the following methods continue to be maintained and remain fully supported.

Up to date prebuilt Gendl executable images, based on Clozure CL 1.12, are available for Windows and Linux on 64-bit Intel processors. For other Operating Systems and Processors, you can use the Docker container approach (see below), or build Gendl from source on a compliant CL implementation such as Allegro CL, Clozure CL (CCL), Clasp, LispWorks, or SBCL, on your OS platform of choice (see below).

Prebuilt Gendl for Windows and Linux

You can download the latest prebuilt 64-bit Gendl images for Windows or Linux below. The master builds are the stable choice; the devo builds are the latest development snapshot. Each link always fetches the most recent build of its branch -- the same convention used for the Gendl container images.

BranchOSLispFormatDownload
masterLinuxClozure CLZip archiveDownload
masterLinuxSBCLZip archiveDownload
masterWindowsClozure CLZip archiveDownload
masterWindowsClozure CLInstaller (exe)Download
masterWindowsSBCLZip archiveDownload
masterWindowsSBCLInstaller (exe)Download
devoLinuxClozure CLZip archiveDownload
devoLinuxSBCLZip archiveDownload
devoWindowsClozure CLZip archiveDownload
devoWindowsClozure CLInstaller (exe)Download
devoWindowsSBCLZip archiveDownload
devoWindowsSBCLInstaller (exe)Download

Note the large Zip files which on Windows may take several minutes to extract using the "Extract All" action from Windows File Explorer. The free 7-zip program available from7-zip.org is much faster at extracting these archives than the built-in one in Windows File Explorer. The unzip command which ships with Git Bash Shell is also much faster.

Once it is finished extracting, you may run the run-gdl[.bat] script which can be found at the toplevel of then extracted directory. This script will launch Gnu Emacs, which will in turn launch and initialize a Gendl instance as a subprocess.

Note that you may have to override the default Windows security settings to allow the script to run, when running it for the first time, i.e. the .exe archive will show as coming from an "unverified publisher," and this is expected for now. Windows may also ask you about a certain service or port being started by your program. You can safely disallow it, if you plan to use only "localhost" to access your local Gendl server. If you plan to access your Gendl server from other computers on your network, you will want to grant permission to the service or port.

Gendl as a Docker container

You can run the latest development version of Gendl on any operating system where you have a bash shell and Docker installed (free version sufficient). On Windows, the easiest way to get Docker and a bash shell is by installing the Microsoft-supported Windows System for Linux 2 (WSL2)

To get Gendl running in a container, follow these steps:

  1. Clone the Gendl repository, for example with the command git clone https://gitlab.common-lisp.net/gendl/gendl.git
  2. . This repository will contain a file docker/run [--sbcl]. Run this script. It will fetch and run a prebuilt container image matching the repository branch you have cloned. You may choose your branch from the official Gendl codebase branches:
    master
    The current official stable released version.
    devo
    The current version under active development. Contains newest features but may be unstable.
    release/1598
    The current release candidate for Gendl 1598 (or other version), used for producing beta releases
  3. Load the file from the repository: emacs/gdl.el into your emacs (e.g. using M-x load-file)
  4. In emacs, connect to the Gendl server using M-x slime-connect and specify the host as localhost and the port as 4200

Gendl compiled from source

If you are already set up with Common Lisp and Quicklisp, you can load and start Gendl with the following commands: (ql:quickload :gendl) (gendl:start-gendl!). If you'd like to work with the latest development ("devo") version of Gendl, then you may clone its repository into your quicklisp/local-projects/ directory, then the above command will load it from there rather than its official distribution location (the official distribution will typically be built from the latest master branch. In order to clone the devo branch, the commands would be:
git clone https://gitlab.common-lisp.net/gendl/gendl.git; cd gendl; git checkout devo

Commercial Genworks GDL

Genworks offers commercial Genworks GDL distributions built with the commercial Allegro Common Lisp system. These distributions require an encrypted license file to run and are available through an email-based download gateway.

If you would like to inquire about an entitlement for supported commercial Genworks GDL, then please contact Genworks at [email protected] and you will be provided with further information.