[Openmcl-devel] Debian packaging for CCL
faheem at faheem.info
Tue Jul 10 16:47:53 CDT 2012
Thanks for the helpful reply.
On Mon, 9 Jul 2012, R. Matthew Emerson wrote:
> In order to run, ccl needs:
> 1. The lisp kernel binary. The lisp kernel is a relatively small
> program written in a combination of C and assembly language that
> contains the garbage collector, OS thread support, and other runtime
> support stuff.
> 2. A heap image file. This is lisp code and data.
> This is all you need, if your needs are small enough. It's even
> possible to combine these two files into one by passing
> :prepend-kernel t to ccl:save-application.
Is there any reason not to do this?
> When CCL starts up, it defines a ccl: logical host. If it finds
> that CCL_DEFAULT_DIRECTORY is set in the environment to the name
> of a directory, it will make the ccl: logical host point to that
> directory. Otherwise, it will figure out what directory the heap
> image file is in, and use that.
> If you want to do lisp development, you will almost certainly want
> the interface directories, contained in platform-specific directories.
> On x86 Linux systems, the names are x86-headers (for 32-bit) and
> x86-headers64 (for 64-bit). Without these, the #_ reader macro will
> not work. CCL expects these directories to be in the ccl: directory.
Thanks, that is clear and explicit. I think I have enough information
for a first stab at building.
For the moment, I have one question. I want to build, for example, the
bootstrapping image from the shell. So I do
./lx86cl -e '(ccl:xload-level-0)'
but when it finishes it puts me in a prompt.
;Wrote bootstrapping image: #P"/usr/local/src/ccl/ccl-1.8/x86-boot32"
Welcome to Clozure Common Lisp Version 1.8-r15286M (LinuxX8632)!
How can I stop that happening? I tried both batch and clean, without
Also, is it possible to select a path location for x86-boot32 by
passing an argument to ccl:xload-level-0 or otherwise?
> If you want to use ASDF to load systems, then you clearly need to get
> ASDF from somewhere. For user convenience, we bundle a version of ASDF
> with CCL in ccl:tools; and we set up things so that (require 'asdf) will
> find it there.
> If you don't want to use the bundled ASDF, that's perfectly fine.
> There's nothing magical about the bundled version: it's completely
> unaltered from the upstream sources. We only include it to save
> users the trouble of downloading it separately; CCL itself doesn't
> make use of ASDF to build itself. We also don't maintain ASDF (and
> don't want to), so we're trying to keep it at arm's length, so to
> speak, by including it in ccl:tools;.
> Anyway, if you use your own ASDF, the odds are that cl:require will
> not know where you put it, and you'll need to use cl:load to load it.
Using the builtin ASDF seems fine. Are both asdf.lisp and defsystem.lisp
> Regarding source code, I believe that many programmers find it
> helpful to have the source code of the lisp implementation around,
> too. This way, you can M-. right into the source code of
> with-open-file (or whatever).
Agreed. But I'm not going to worry about that for the moment.
More information about the Openmcl-devel