|Platforms: what does it run on?|
The current release of CMUCL should work on the following combinations of operating system and architecture:
The 19e release binaries should work on any i586 or better processor. The binaries are compiled against version 2.2 of the GNU C Library (glibc2.2), but also work with glibc2.3. The runtime support for the CMUCL Motif interface is dynamically linked, so you will need the Motif or Lesstif libraries (preferably version 2) installed on your system to use it. The binaries should run with any Linux kernel after 2.0 (but beware early kernels in the 2.4 series, which had poor virtual memory characteristics).
There are problems running CMUCL on certain kernels that are built with address-space randomization techniques, such as certain Fedora kernels. If you run into problems, please use a vanilla kernel.
There are known problems running CMUCL on 2.4 kernels using certain configurations of the HIGHMEM support (this option allows larger process address spaces, and certain distributions ship kernels with these patches enabled). The CONFIG_64GB and CONFIG_1GB options work fine.
CMUCL is known not to run under libsafe, whose system call interposition mechanism interferes with the foreign function interface. CMUCL does not run on kernels with "hardening" patches such as grsecurity, since their all-the-world-is-C assumptions are too strong.
The 20a release binaries were built on MacOSX 10.5 (Leopard) and probably require 10.5 or later.
The 19f release binaries should work on any processor supported by MacOS X (x86). They require 10.4 (Tiger) or later.
Notice that the architecture in question is the OS architecture ("target"), not the processor's one -- FreeBSD/i386 running on an amd64 processor is good for all CMUCL purposes, including building new binaries.
An appropriately chosen distibution (e.g. `cmucl-19e-x86-freebsd7.0.*', for FreeBSD 7.0) should work on FreeBSD 6.3, 7.0 and 8.0. Using a "later" FreeBSD distribution on an "earlier" FreeBSD release (e.g. `cmucl-19e-x86-freebsd7.0.*' on FreeBSD 6.3) is either not possible or not tested. Using an "earlier" FreeBSD distribution on a "later" FreeBSD release should be possible with appropriate compatibility libraries installed but has not be tested and is advised against --- use the binaries built on the OS release they are going to run on.
Legacy FreeBSD releases (earlier than 6.3) have not been tested as runtime platforms and will be not supported, although the 6.3 distribution may run on them.
FreeBSD 6 will be not supported after CMUCL release 19e.
The 19f binaries should work with Solaris 8 or later (also known as Solaris 2.8). They require an UltraSPARC processor. If you have an ancient SPARC machine, you can get the non-v9 version of the 18e release. If you have an UltraSPARC the command uname -m will say sun4u, if you have an older machine such as a SparcStation it will probably say sun4m.
Note that starting with the 2010-02 snapshot, Solaris 8 builds are being dropped in favor of Solaris 10 builds. The Solaris 10 builds will not run on Solaris 8, but Solaris 8 builds will run just fine on Solaris 10. However, Solaris 8 builds may be available.
The following platforms are not supported by the current CMUCL release, but were supported by previous releases:
The SBCL implementation (a fork from CMUCL) runs on some platforms that CMUCL doesn't currently support, such as Linux/SPARC, Linux/PowerPC, Linux/Alpha -- check their web site for current status.
The builds for x86, sparc, and ppc platforms include a generational conservative garbage collector (this can be tested for through the presence of the :gencgc feature). The other architectures use a stop-and-copy garbage collector.
The x86 builds also include basic multiprocessing support (this can be tested for through the presence of the :mp feature). The implementation is based on stack groups, ie user-level threads, and not on kernel threads. The interface is very similar to the CLIM-SYS specification.