Bad interaction between CCL 1.9 rc1 internal ASDF and Debian ASDF package

Bug #1120998 reported by Faheem Mitha
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ASDF
Won't Fix
Wishlist
Unassigned

Bug Description

[Submitting this at the recommendation of Robert Goldman.]

Hi,

When testing the CCL 1.9 rc release on Debian squeeze, I ran into a
problem.

My installation has the Debian ASDF package installed. This is version
2.22.

ii cl-asdf 2:2.22-1 Another System Definition Facility

orwell:/home/faheem# dpkg -L cl-asdf
[...]
/usr/share/common-lisp/source/cl-asdf/asdf.lisp
[...]

The following transcript is using a checkout from upstream's svn repos.

I initially load CCL's internal copy of ASDF (in tools). Then, when I
attempt to load cl-rmath, which is locally installed at
/usr/local/share/common-lisp/source/, ASDF attempts to update or
upgrade, finds the Debian ASDF, and tries to load it. This fails.

I'm not sure what the right solution is here. However, some comments.

1) I don't understand why it is necessary for ASDF to update or
upgrade itself in this fashion. I believe it didn't do so before. In
any case, can this behavior be made optional?

2) The attempted upgrade happens in this case to a version that is
actually *older*. I.e. Debian's ASDF is 2.22, while the internal ASDF
in CCL 1.9 rc1 is 2.28. A reasonable sanity check might be to not
attempt an update/upgrade if your only options are older versions of
ASDF.

3) I've been working on a CCL Debian package. One of the reasons
Debian's packaging system exists is so a large variety of software can
work together without bad interactions happening. I don't see Debian
pulling its ASDF package. Therefore, this issue as it stands is a
showstopper as far as getting a CCL 1.9 package into Debian
goes. However, if upstream does not make a change that fixes this
issue, it is still Ok to patch the Debian package to fix it for
Debian, as long as a reasonable solution can be found. Of course, in
that case, Debian users using the upstream version directly will still
have problems.

4) As I have commented elsewhere, one other possible (not good)
solution to this is to not use the Debian ASDF package, or indeed any
other "external" ASDF, and rely only on the internal ASDF. There are
at least two problems with that currently. a) Debian CL packages (some
of them anyway) depend on cl-asdf. I personally consider that a
misfeature; it should be a Recommends at most. However, given that is
the case, without cl-asdf many CL Debian packages are not
installable. b) CL implementations are not guaranteed to have an
internal copy of ASDF. So, the Debian ASDF (or some other copy of
ASDF) may be needed to use with them. However, Robert Goldman said
that all CL implementations now ship ASDF, so I don't know if this is
a problem in practice or not.

                                                                                                               Regards, Faheem

##############################################################

faheem@orwell:/usr/local/src/ccl/ccl$ svn info
Path: .
URL: http://svn.clozure.com/publicsvn/openmcl/release/1.9/linuxx86/ccl
Repository Root: http://svn.clozure.com/publicsvn/openmcl
Repository UUID: 8bdb8f1d-59ce-db11-9e41-0016172a54ae
Revision: 15701
Node Kind: directory
Schedule: normal
Last Changed Author: gb
Last Changed Rev: 15687
Last Changed Date: 2013-02-05 06:32:05 +0530 (Tue, 05 Feb 2013)

faheem@orwell:/usr/local/src/ccl/ccl$ rlwrap ./lx86cl -n
Welcome to Clozure Common Lisp Version 1.9-rc1-r15685 (LinuxX8632)!
? (require 'asdf)
ASDF
("ASDF")
? (quit)
faheem@orwell:/usr/local/src/ccl/ccl$ rlwrap ./lx86cl -n
Welcome to Clozure Common Lisp Version 1.9-rc1-r15685 (LinuxX8632)!
? (setf *load-verbose* t)
T
? (require 'asdf)
;Loading #P"/usr/local/src/ccl/ccl/tools/asdf.lisp"...
ASDF
("ASDF")
? (asdf:asdf-version)
"2.28"
? (trace asdf:upgrade-asdf)
NIL
? (require 'cl-rmath)
;Loading #P"/usr/local/share/common-lisp/source/cl-rmath/cl-rmath.asd"...
0> Calling (ASDF/UPGRADE:UPGRADE-ASDF)
;Loading #P"/usr/share/common-lisp/source/cl-asdf/asdf.asd"...
;Loading #P"/usr/share/common-lisp/source/cl-asdf/asdf.lisp"...ASDF could not load cl-rmath because Too many arguments in call to #<Compiled-fu\
nction ASDF/PACKAGE:FIND-SYMBOL* #x1877519E>:
3 arguments provided, at most 2 accepted.
> While executing: ASDF/PACKAGE:FIND-SYMBOL*, in process listener(1).
> Type :POP to abort, :R for a list of available restarts.
> Type :? for other options.
1 > (asdf:asdf-version)

> Error: Reader error: No external symbol named "ASDF-VERSION" in package #<Package "ASDF"> .
> While executing: CCL::%PARSE-TOKEN, in process listener(1).
> Type :GO to continue, :POP to abort, :R for a list of available restarts.
> If continued: Create and use the internal symbol ASDF::ASDF-VERSION
> Type :? for other options.

Revision history for this message
Faré (fahree) wrote :

That is NOT a bug in ASDF.

That is a bug in Debian.

Someone needs to publish a new cl-asdf 2.28 package for Debian. I don't have a debian machine anymore, so that won't be me, and I'm traveling, so I definitely won't do it in the next two weeks.

If you're producing a debian package for CCL, you can easily produce a debian package for ASDF as well. Check the "make debian-package" target of asdf. Since it hasn't been used in a while, it might require some bit rot scrubbing.

Changed in asdf:
importance: Undecided → Wishlist
milestone: none → version3
status: New → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.