Humberto Ortiz Zuazaga writes:
 
 > The clx problem was that the packaged cl-clx-sbcl in Ubuntu doesn't work
 > in newer SBCLs, but the packaging system has no way of knowing that.
 > 
 > My concern is how we can address this issue in the garden. This is a
 > particularly bad kind of library-vs-implementation issue, where the bug
 > is present only in particular combinations of library version and
 > implementation version. Can we capture version information in our
 > compatibility matrix?
 > 
 > Second issue is interaction with packaging systems. Debian (and Ubuntu)
 > have a pretty comprehensive set of common lisp libraries and
 > implementations available in their packaging systems, but even there,
 > not all libraries work in all implementations, and the packaging system
 > doesn't really capture the full set of dependencies.
 > 
 > This means that any gardener's solution for tracking dependencies has to
 > be better than apt, which is a tall order. Does anyone have ideas on a
 > system that can track dependencies between libraries and implementations
 > better than what's currently in apt?
 > 

Yes, this is a problem. I've had a similar issue with the
cl-speech-dispatcher package. apt-get and common lisp controller and
asdf combination supported under Debian failed to provide any warnings
or errors when I installed the library. the problem was I use both
SBCL and CMUCL. However, recently when trying to write some code with
used the package, I kept getting errors and at first couldn't work out
what was going on. Tracing through the code, I found a function which
was defined something like

(defun foo ()
#+SBCL(...
      ....))

So, when using CMUCL, the only warning flag was a very easily missed
message concerning a function which contained no code. I modified the
library to have CMUCL support and added bits like

#-(or SBCL CLISP CMU)
  (error 'not-implemented :proc (list 'getenv var)))

so that at least now you got some sort of meaningful error when
attempting to use the library with an unsupported implementation. 

However, it would be good if things like asdf supported version and
implementation dependencies and provided early and clear warnings if
you attempt to compile/use a libarary with either an unsupported
implementation or version of the implementation. Of course, you would
also have to handle the situation wehre officially a library has not
been tested/approved for a recent new implementation version, but may
work fine - in which case, you want to be warned, but not prevented
from installing the library etc.

Tim
_______________________________________________
Gardeners mailing list
[email protected]
http://www.lispniks.com/mailman/listinfo/gardeners

Reply via email to