Packaging CL libs and apps for debian

Faré fahree at gmail.com
Fri Apr 25 08:13:15 UTC 2014


On Thu, Apr 24, 2014 at 4:42 AM, Dimitri Fontaine <dim at tapoueh.org> wrote:
> Faré <fahree at gmail.com> writes:
>> which version of ASDF are you using?
>
>   * (require :asdf)
>   ("ASDF")
>
>   * (asdf:asdf-version)
>   "2.21"
>
That's fairly old. In practice, I recommend upgrading to the latest stable
when having trouble such as yours.

Problem: upgrading cleanly from asdf 2 is possible, but can be tricky.
The latest 3.1 has a script to install itself on top of an existing
implementation;
but it's not part of an official stable release yet.


>   * (asdf:load-system :drakma)
>   debugger invoked on a ASDF:MISSING-DEPENDENCY in thread
>   #<THREAD "main thread" RUNNING {1002978CA3}>:
>     Component :CL+SSL not found, required by #<SYSTEM "drakma">
>
> That's better, now I can actually test and fix the package, thanks.
>
Great.

> Is that the intended way to use a debian packaged CL lib?
>
I believe so, though my understanding is the debian package CL
libraries are not that well maintained anymore. These days, all the
cool kids use quicklisp. Now, if you could write an automated
quicklisp to debian packager...

> I also note that compilation of the lisp files happens at load time,
> where I though the common-lisp-controller docs explained it would happen
> at dpkg install time.
>
Back in the bad old days, c-l-c was trying to have a system cache.
This turned out to be a configuration and security nightmare.

These days, people are happy just using a per-user cache;
on single-user machines this is not a problem;
and on multi-user machines, that's probably better for security
(not to say about robustness against race conditions).

A file is compiled the first time only. Subsequent times,
the cache will be used, as long as the file is up-to-date.

>   * (asdf:load-system :chunga)
>
>   ; compiling file "/usr/share/common-lisp/source/cl-trivial-gray-streams/package.lisp" (written 31 DEC 2009 11:40:01 AM):
>   ; compiling (IN-PACKAGE :CL-USER)
>   ; compiling (FROB)
>
> Now I have to track down why it wants to compile that file that does not
> exists.
>
>   19: (ASDF:COMPILE-FILE*
>        #P"/usr/share/common-lisp/systems/packages.lisp"
>
In the past, there have been bugs with respect to following symlinks,
handling directory pathnames without a trailing slash, etc., etc.

I would recommend upgrading ASDF over trying to debug an old one.

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
Up to now you have believed in the existence of tyrants. Well, you were
mistaken. There are only slaves. Where none obeys, none commands.
        — Anselme Bellegarrigue



More information about the pkg-common-lisp-devel mailing list