Skip to content

arm64 preview release

Pre-release
Pre-release

Choose a tag to compare

@xrme xrme released this 31 Aug 18:18

This is a pre-release of an arm64 port of Clozure CL.

There are versions that run on Linux and Darwin (macOS).

The Linux version is probably slightly better off. This is because Linux doesn't impose any particular additional restrictions when running on arm64, and CCL's existing design choices did not require any particular adaptations.

The macOS version, on the other hand, is still quite experimental. In particular, the scheme for dealing with the W^X memory protection policy is a hack: compiled code is never GC'd until a heap image is saved.

To download the pre-release, follow these steps:

  1. Obtain source code by cloning the repository (with git clone -b arm64 https://github.com/Clozure/ccl.git)
  2. Download and extract the bootstrapping binaries for your system.

Linux

To get a copy of this pre-release CCL for Linux/arm64, you would say:

# fetch source code, switch to arm64 branch
git clone -b arm64 https://github.com/Clozure/ccl.git ccl-arm64
# download pre-compiled binaries and interface database
curl -L -O https://github.com/Clozure/ccl/releases/download/v1.13-arm64-pre1/linuxarm64.tar.gz
# go into source directory
cd ccl-arm64
# unpack binaries
tar xf ../linuxarm64.tar.gz

The name of the lisp kernel for Linux/arm64 is arm64cl. The default heap image is arm64cl.image. The interface database is in arm64-headers.

Darwin / macOS

To get a copy of this pre-release CCL for macOS on Apple Silicon (arm64), you would say:

# fetch source code, switch to arm64 branch
git clone -b arm64 https://github.com/Clozure/ccl.git ccl-arm64
# download pre-compiled binaries and interface database
curl -L -O https://github.com/Clozure/ccl/releases/download/v1.13-arm64-pre1/darwinarm64.tar.gz
# go into source directory
cd ccl-arm64
# unpack binaries
tar xf ../darwinarm64.tar.gz

You may need to knock off the quarantine bits with xattr -d com.apple.quarantine darm64cl darm64cl.image.

The name of the lisp kernel for Linux/arm64 is darm64cl. The default heap image is darm64cl.image. The interface database is in darwin-arm64-headers.