Skip to content

Releases: Clozure/ccl

Clozure CL 1.13

14 Aug 04:50
Compare
Choose a tag to compare

This is Clozure CL 1.13.

There are two ways to obtain a copy of the release.

If you are not interested in tracking or updating CCL sources at all, you may download an archive file of the form ccl-1.13-platform.tar.gz. See the “Assets” section at the bottom of the page for links to the various archive files. The archive will contain everything you need to run CCL (including complete source code and binaries), but not a copy of the Git repository.

If, on the other hand, you would like to be able to pull updates from Git, follow these steps:

  1. Obtain source code by cloning the repository (with git clone https://github.com/Clozure/ccl.git)
  2. Download and extract the bootstrapping binaries for your system. Because CCL is written in itself, you need an already-working copy of CCL to compile it. The archive also contains a database derived from the system header files which is used by the FFI.

For example, to get a copy of CCL for Linux/x86, you would say:

# fetch source code into directory "ccl"
git clone https://github.com/Clozure/ccl.git ccl
# download pre-compiled binaries
curl -L -O https://github.com/Clozure/ccl/releases/download/v1.13/linuxx86.tar.gz
# go into the "ccl" directory where the sources are
cd ccl
# unpack binaries (lisp kernel, heap image, interface database) into "ccl" directory
tar xf ../linuxx86.tar.gz

You can now rebuild CCL to make sure everything is up-to-date with respect to the current sources. A quick way to do this is to run the following command from the shell:

echo '(rebuild-ccl :full t)' | ./lx86cl64 -n

Note that lx86cl64 is the executable for x86-64 Linux. Use the appropriate executable name (see table below) if you are on another platform. For example, you would use dx86cl64 if you are on a Mac.

If you cannot run the lisp, or if (rebuild-ccl :full t) fails, there are a few common reasons for that.

  • On Windows, (rebuild-ccl :full t) may not work because Windows cannot remove an open file
  • On Linux, you may see a message like "version 'GLIBC_2.33' not found"
  • The m4 program might not be installed

If m4 is not installed, install it with apt install m4 or whatever the proper command is on your system.

In the other cases, the solution is to build the lisp kernel binary (a program written in C and assembly language) separately. To do this, use the following commands:

cd lisp-kernel/linuxx8664
# or lisp-kernel/win64 or lisp-kernel/win32 or lisp-kernel/darwinx8664 or lisp-kernel/freebsdx8664, etc.
make clean
make

When that is done, start the lisp and evaluate (rebuild-ccl :clean t). This does the same thing as :full t, except it will not attempt to rebuild the lisp kernel for you.

The name of the lisp kernel binary (which is the executable that you invoke to start CCL) is different for each platform. For instance, on macOS, the name is dx86cl64, so you could start CCL by running ./dx86cl64. See the manual for more details.

Binaries were built on the following systems:

Platform Version executable (64-bit) executable (32-bit)
darwin/x86 Xcode tools 15.4 on macOS Sonoma 14.6.1 dx86cl64
freebsd/x86 FreeBSD 13.3 fx86cl64 fx86cl
linux/arm Raspberry Pi OS (Legacy) (based on Debian 11 bullseye) on Raspberry Pi armcl
linux/x86 Ubuntu 22.04.4 LTS lx86cl64 lx86cl
solaris/x86 OmniOS LTS (r151046) sx86cl64 sx86cl
windows/x86 Windows 10 with MSYS2 (MINGW32 environment for 32-bit, and MINGW64 environment for 64-bit) wx86cl64.exe wx86cl.exe

Both 64-bit and 32-bit versions of the lisp are included on the x86 platforms (except for macOS, which doesn't support running 32-bit x86 binaries).

This release does not contain support for Apple Silicon (ARM64) processors.

For convenience, we recommend that you use a script to invoke CCL. Please see the sample ccl and ccl64 scripts in the scripts directory for examples you can customize as needed.

Notable changes

The interface database

This release uses https://github.com/Clozure/ccl-ffigen to process header files for FreeBSD, Linux, and Solaris-ish systems. See that link for more details, but the short version is that you may run into differences when using the #_ and #$ reader macros. Additionally, many fewer header files are processed by default, so if your code accesses a fairly obscure foreign name, you might find that it is now missing. Please report problems by creating an issue.

The Mac and Windows ports carry forward the existing interface databases unchanged. They will be updated in a future release.

32-bit x86

A 32-bit x86 Lisp is again provided for FreeBSD and Solaris-ish systems (in addition to a 64-bit x86 version).

Full Changelog: v1.12.2...v1.13

Clozure CL 1.12.2

09 Aug 05:32
Compare
Choose a tag to compare

This is Clozure CL 1.12.2.

There are two ways to obtain a copy of the release.

If you are not interested in tracking or updating CCL sources at all, you may download an archive file of the form ccl-1.12.2-platform.gz. This archive will contain everything you need to run CCL (including complete source code and binaries), but not a copy of the Git repository.

If, on the other hand, you would like to be able to pull updates from Git, follow these steps:

  1. Obtain source code by cloning the repository (with git clone https://github.com/Clozure/ccl.git)
  2. Download and extract the bootstrapping binaries for your system. Because CCL is written in itself, you need an already-working copy of CCL to compile it. The archive also contains a database derived from the system header files which is used by the FFI.

For example, to get a copy of CCL for Linux/x86, you would say:

git clone https://github.com/Clozure/ccl.git ccl
curl -L -O https://github.com/Clozure/ccl/releases/download/v1.12.2/linuxx86.tar.gz
cd ccl
tar xf ../linuxx86.tar.gz

After unpacking the binaries, you can rebuild CCL by evaluating (rebuild-ccl :full t) as usual.

Unfortunately, on Windows and recent macOS versions, (rebuild-ccl :full t) will not work. On those systems, you must build the lisp kernel binary (a program written in C and assembly language) separately. To do this, use the following commands:

cd lisp-kernel/darwinx8664
# or lisp-kernel/win64 or lisp-kernel/win32
make clean
make

When that is done, start the lisp and evaluate (rebuild-ccl :clean t). This does the same thing as :full t, except it will not attempt to rebuild the lisp kernel for you.

The name of the lisp kernel binary (which is the executable that you invoke to start CCL) is different for each platform. For instance, on macOS, the name is dx86cl64, so you could start CCL by running ./dx86cl64. See the manual for more details.

Binaries were built on the following systems:

Platform Version
darwin/x86 Xcode tools 14.3.1 on macOS Ventura 13.5
freebsd/x86 FreeBSD 12.4
linux/arm Raspian Bullseye on Raspberry Pi
linux/x86 Ubuntu 22.04.2
solaris/x86 OmniOS LTS (r151046)
windows/x86 Windows 10 with MSYS2 (MINGW32 environment for 32-bit, and MINGW64 environment for 64-bit)

Clozure CL 1.12.1

24 May 04:40
Compare
Choose a tag to compare

This is Clozure CL 1.12.1.

This release provides updated binaries for those who can't easily rebuild CCL from source. In particular, the 64-bit Windows binaries contain a fix for a bug that was needlessly attempting to reserve a bunch of TLS slots at startup time (see #311).

[Only Windows, Darwin, and Linux archives are currently provided here. Archives for other platforms will follow.]

If you are not interested in tracking CCL changes at all, but just want to run the release, please download the files of the form ccl-1.12.1-platform.gz. These archives contain everything you need to run CCL (including source code and binaries), but not a copy of the git repository.

On the other hand, if you'd like to be able to pull updates from git, follow these steps:

  • First, obtain the source code for CCL by cloning the repository (with git clone https://github.com/Clozure/ccl.git)
  • The second step is download the bootstrapping binaries for your system. CCL is written in itself, so in order to compile it, you need an already-working CCL. The binary archives provide this. They also contain a pre-built database derived from the system header files that is used by the FFI.

So, in sum, to get a copy of CCL that runs on macOS, you would say:

git clone https://github.com/Clozure/ccl.git ccl-dev
curl -L -O https://github.com/Clozure/ccl/releases/download/v1.12.1/darwinx86.tar.gz
cd ccl-dev
tar xf ../darwinx86.tar.gz

After unpacking the bootstrapping binaries, you can rebuild CCL by evaluating (rebuild-ccl :full t) as usual.

Unfortunately, on Windows and macOS Catalina (and Big Sur), (rebuild-ccl :full t) will not work. On those systems, you must first build the lisp kernel binary (a program written in C and assembly language). To do this, use the following commands:

cd lisp-kernel/darwinx8664
# or lisp-kernel/win64 or lisp-kernel/win32
make clean
make

When that is done, start the lisp and evaluate (rebuild-ccl :clean t). This does the same thing as :full t, except it will not attempt to rebuild the lisp kernel for you.

If you have some version of Xcode 11, you must use Xcode 11.4 or later to compile the CCL lisp kernel because of a bug in the assembler (#271). Earlier versions of the Xcode tools are fine.

Clozure CL 1.12

19 Apr 23:00
Compare
Choose a tag to compare

This is Clozure CL 1.12.

There are two steps to obtain this release. First, obtain the source code for CCL by cloning the repository (with git clone https://github.com/Clozure/ccl.git), or by downloading an archive (either as a gzipped tar file or as a zip archive.

The second step is download the bootstrapping binaries for your system. CCL is written in itself, so in order to compile it, you need an already-working CCL. The binary archives provide this. They also contain a pre-built database derived from the system header files that is used by the FFI.

So, in sum, to get a copy of CCL that runs on macOS, you would say:

git clone https://github.com/Clozure/ccl.git ccl-dev
curl -L -O https://github.com/Clozure/ccl/releases/download/v1.12/darwinx86.tar.gz
cd ccl-dev
tar xf ../darwinx86.tar.gz

After unpacking the bootstrapping binaries, you can rebuild CCL by evaluating (rebuild-ccl :full t) as usual.

Unfortunately, on Windows and macOS Catalina, (rebuild-ccl :full t) will not work. On those systems, you must first build the lisp kernel binary (a program written in C and assembly language). To do this, use the following commands:

cd lisp-kernel/darwinx8664
# or lisp-kernel/win64 or lisp-kernel/win32
make clean
make

When that is done, start the lisp and evaluate (rebuild-ccl :clean t). This does the same thing as :full t, except it will not attempt to rebuild the lisp kernel for you.

If you have some version of Xcode 11, you must use Xcode 11.4 or later to compile the CCL lisp kernel because of a bug in the assembler (#271). Earlier versions of the Xcode tools are fine.

CCL 1.11.8 (for Mac App Store users)

31 Dec 21:33
Compare
Choose a tag to compare

This release is for people who had been using the Mac App Store version of CCL, which no longer works on pre-Catalina systems.

Download the ccl-mac-ide-1.11.8.zip file, double-click it to uncompress, and then move it to the /Applications folder. It has a different bundle ID than the app store version, but it should otherwise be the same.

1.12 snapshot (April 2019)

22 Apr 18:05
Compare
Choose a tag to compare
Pre-release

This snapshot includes support for package-local nicknames and some other changes that require new bootstrapping images. To rebuild CCL from source code, you must use these binaries. If you try to use earlier binaries, one symptom is that the build will hang while compiling compiler/optimizers.lisp.

To use this snapshot, first clone the CCL repository. Then, extract the binaries for the platform of interest. The archives containing the binaries will unpack directly into the current directory.

So, get CCL running on macOS, you would say:

git clone https://github.com/Clozure/ccl.git ccl-dev
curl -L -O https://github.com/Clozure/ccl/releases/download/v1.12-dev.5/darwinx86.tar.gz
cd ccl-dev
tar xf ../darwinx86.tar.gz

This example uses the curl program to download the archive of binaries, but of course you can fetch the archive using whatever tool you want.

After unpacking the bootstrapping binaries, simply evaluate (rebuild-ccl :full t) as usual, and you'll have an up-to-date Lisp.

You may have to remove old fasl files and recompile them if you run into package-related errors.

1.12 snapshot (November 2018)

24 Nov 01:44
Compare
Choose a tag to compare
Pre-release

This snapshot includes changes that allow CCL to run on macOS Mojave.

There may, however, be some bugs when running on Mojave. Issue #146 is the tracking issue for that.

To use this snapshot, first clone the CCL repository. Then, extract the binaries for the platform of interest. The archives containing the binaries will unpack directly into the current directory.

So, get CCL running on macOS, you would say:

git clone https://github.com/Clozure/ccl.git ccl-dev
curl -L -O https://github.com/Clozure/ccl/releases/download/v1.12-dev.4/darwinx86.tar.gz
cd ccl-dev
tar xf ../darwinx86.tar.gz

If you are running a system other than macOS, please use the binaries from an earlier snapshot, such as
https://github.com/Clozure/ccl/releases/tag/v1.12-dev.1. After unpacking those binaries, simply evaluate (rebuild-ccl :full t) as usual, and you'll have an up-to-date Lisp.

1.12 snapshot (March 2018)

15 Mar 23:18
e710ffa
Compare
Choose a tag to compare
Pre-release

This snapshot of the in-development Clozure CL 1.12 adds support for building and running the lisp on FreeBSD 12 (and its derivatives such as True OS).

As usual, first clone the CCL repository. After that, download and extract the binaries for the
platform of interest. The archives containing the binaries will unpack directly into the current directory.

If you are running FreeBSD 12, you must use the freebsd12-x8664.tar.gz archive. If you are running FreeBSD 10 or FreeBSD 11, you must use freebsd10-x8664.tar.gz. If you try to rebuild the lisp and it fails, please double-check that you are using the correct binaries for the FreeBSD version that you are using.

So, if you want to run CCL on a FreeBSD 10 platform, you would say:

git clone https://github.com/Clozure/ccl.git ccl-dev
curl -L -O https://github.com/Clozure/ccl/releases/download/v1.12-dev.3/freebsd10-x8664.tar.gz
cd ccl-dev
tar xf ../freebsd10-x8664.tar.gz

This example uses the curl program to download the archive of binaries, but of course you can fetch the archive using whatever tool you want.

1.12 snapshot (December 2017)

05 Dec 20:18
Compare
Choose a tag to compare
Pre-release

This is a snapshot of the in-development Clozure CL 1.12.

To use it, you must first clone the CCL repository. After that, download and extract the binaries for the
platform of interest. The archives containing the binaries will unpack directly into the current directory.

So, if you want to run CCL on a FreeBSD platform, you would say:

git clone https://github.com/Clozure/ccl.git ccl-dev
curl -L -O https://github.com/Clozure/ccl/releases/download/v1.12-dev.1/freebsdx86.tar.gz
cd ccl-dev
tar xf ../freebsdx86.tar.gz

This example uses the curl program to download the archive of binaries, but of course you can fetch the archive using whatever tool you want.

Clozure CL 1.11.5

29 Nov 00:42
Compare
Choose a tag to compare

This release brings the 1.11 branch up-to-date with current OS releases, and fixes numerous bugs.

The fasl file version has not changed, so there is no need to recompile your code.

With this release, CCL no longer relies on the old Subversion repository. Although the old Subversion repository will remain online for the foreseeable future, please be sure to look to GitHub for the most up-to-date versions of CCL.

Note that the archives below contain a full clone of the CCL source repository in addition to the binaries and interface databases needed for the relevant platform. Both 32-bit and 64-bit binaries are included in the archives (except for ARM, which is currently 32-bit only).

Known Problems

The 32-bit x86 port on Linux crashes on startup on Ubuntu 17.10. See #85.

Reporting Bugs

Please report bugs here on GitHub. https://github.com/Clozure/ccl/issues/new is a direct link to make a new GitHub issue.