================ C M U C L ============================================= CMUCL is a free, high performance implementation of the Common Lisp programming language which runs on most major Unix platforms. It mainly conforms to the ANSI Common Lisp standard. CMUCL provides a sophisticated native code compiler; a powerful foreign function interface; an implementation of CLOS; the Common Lisp Object System; which includes multimethods; a metaobject protocol; a source-level debugger and code profiler; and an Emacs-like editor implemented in Common Lisp. CMUCL is maintained by a team of volunteers collaborating over the Internet, and is mostly in the public domain. === Installation instructions ========================================== For each supported platform (see below for platform-specific information) there are two gzipped tar archives, one containing the base system, and the other (with extra in the name) containing optional additional files supporting CLX, Hemlock, the Motif interface, and so on. Alternatively, you can download the slightly smaller bzipped archives (with the .bz2 filename extension), which contain the same data but were compressed using the bzip2 program. Download the archives corresponding to your platform. You can check the integrity of the files you have downloaded by comparing the output of md5sum with that given in the file md5sums.txt. The release tarballs extract to the following directory structure: bin/lisp lib/cmucl/lib/lisp.core doc/cmucl/README (this file) man/man1/cmucl.1 ... This allows you to install CMUCL directly under /usr/local, for example using cd /usr/local tar xzf /path/to/cmucl-18d-.tar.gz or alternatively, install under a directory in /opt, for example mkdir /opt/cmucl-18d cd /opt/cmucl-18d tar xzf /path/to/cmucl-18d-.tar.gz In the second case you will need to create a shell script to invoke CMUCL. Copy the file /opt/cmucl-18d/lib/cmucl/sample-wrapper to a directory in your PATH (naming it cmucl for example), and replace both occurrences of <> by /opt/cmucl-18d. Make sure that this shell script is executable (using "chmod +x scriptname"). You can now invoke CMUCL: this should display a banner then show a prompt (the default prompt is an asterisk). % cmucl CMU Common Lisp 18d, running on myhost See for information. Loaded subsystems: Python 1.0, target SPARCstation/Solaris 2 CLOS based on PCL version: September 16 92 PCL (f) * (format t "~&Hello, world!~%") Hello, world! NIL * To load precompiled subsystems (assuming that you installed the -extra- tarball), just use REQUIRE: * (require :gray-streams) * (require :clx) * (require :clm) * (require :hemlock) DEFSYSTEM is not included with CMUCL, but can be obtained from . It may be installed as a subsystem by compiling it (using the function COMPILE-FILE), and moving the resulting defsystem.FASL file to /usr/local/lib/cmucl/lib/subsystems/defsystem-library.FASL (where FASL is the file extension of compiled lisp files on your system, for instance .sparcf or .x86f). You can then say * (require :defsystem) to load the DEFSYSTEM facility into your running lisp. You may wish to edit your site initialization file (in /usr/local/lib/cmucl/site-init.lisp). === Platform-specific notes ============================================ +++ Solaris/SPARC The release binaries are known to work with SunOS 5.5, 5.7 and 5.8 (also known respectively as Solaris 2.5, Solaris 7 and Solaris 8). If you have an UltraSPARC processor you can get the v9 binaries, which use instructions which are only present on SPARC-v9 implementations; otherwise you should get the binaries without v9 in the name of the tarball. 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. +++ Linux/x86 The release binaries should work with any i486 or better processor. The binaries were built against version 2.1 of the GNU C library (glibc2.1), but should run on systems using version 2.2. They 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 known problems running CMUCL on kernels using some of the "highmem" patches: in particular the CONFIG_2GB patch seems to conflict with the memory map used by the release binaries. The CONFIG_1GB and CONFIG_64GB options work fine. CMUCL is known not to run under libsafe, whose system call interposition mechanism interferes with the foreign function interface. +++ FreeBSD/x86 The release binaries should work with any i486 or better processor. The binaries were built on FreeBSD 4.3, but should run on any of the 4.x releases. Dynamic loading of shared libraries is known not to work on FreeBSD 4.4 (but works on release 4.3 and earlier). +++ OpenBSD/x86 The release binaries should work with any i486 or better processor. The binaries were built on OpenBSD 2.9, but are also known to run on the 2.8 and 3.0 releases. === Further information ================================================ The best source for information on CMUCL is the web site, . You will find pointers to documentation and tips on using CMUCL, and information regarding mailing lists and bug reporting. Enjoy using CMUCL! 2002-04-11