[Ecls-list] Problem compiling cl-colors

Daniel Herring dherring at tentpost.com
Sat Sep 19 01:48:00 UTC 2009


On Wed, 16 Sep 2009, Neil Baylis wrote:

> I ran into the following problem when installing cl-colors with ecl.
...
> ;;; Warning: in file /Users/neil/.asdf-install-dir/site/cl-colors/
> colors.lisp, position 1039, and form
> ;;;   (INSTALL-METHOD 'ADD-ALPHA 'NIL ...)
> ;;; Too many arguments for generic function MAKE-INSTANCE

These warnings may need to be resolved, but they are not your immediate 
problem.


> ;;; Warning: in file /Users/neil/.asdf-install-dir/site/cl-colors/
> colors.lisp, position 2609, and form
> ;;;   (FSET 'HSV->RGB #'(LAMBDA-BLOCK HSV->RGB # ...))
> ;;; Unknown type (VALUES &REST T)

Again, not the immediate problem.


> ;;; Error: in file /Users/neil/.asdf-install-dir/site/cl-colors/
> colors.lisp, position 3981, and form
> ;;;   (FSET 'CONVEX-COMBINATION #'(LAMBDA-BLOCK CONVEX-COMBINATION #
> ...))
...
> ;;; Syntax error in declaration (DECLARE ((REAL 0 1) ALPHA))
> erred while invoking #<ASDF:COMPILE-OP NIL 11941088> on #<ASDF:CL-
> SOURCE-FILE "colors" "cl-colors" 11941760>

Here's the error that halted compilation.  Many lisps (e.g. sbcl) are 
accepting of malformed type declarations.  ECL is stricter on this point; 
according to ANSI, TYPE can be omitted for simple types but not for 
compound types.  Change the above to (DECLARE (type (REAL 0 1) ALPHA)), 
and compilation should succeed.

This is one of the top two issues I see when compiling libraries with ECL 
(the other being incorrectly-ordered LOOP statements).

Hope that helps,
Daniel


More information about the ecl-devel mailing list