2006/6/26, Luís Oliveira luismbo@gmail.com:
On 2006-jun-26, at 14:15, Juan Jose Garcia Ripoll wrote:
;;; Loading "/Users/luis/src/cffi/tests/bindings.fas" No dispatch function defined for character #<. Broken at LAMBDA.
You probably used an old ECL. Our implementation can compile files with almost any kind of lisp object thanks to some patches contributed
by
Brian Spilsbury.
Just to make sure, I did a "make clean", "cvs up" (again) rebuilt ECL
Do you use the sources from common-lisp.net? Or the older tree (abandoned due to CVS problems) in sourceforge.net?
from scratch and tried again. I still get the same error. Did you try
to load the cffi-tests test suite?
Yes, and indeed I found several bugs in CFFI.
1) You want to use load-foreign-module when loading shared libraries. 2) The flags you pass for building the shared library produce an invalid executable on RedHat 9.0. 3) DEFCVAR uses DEFINE-SYMBOL-MACRO without encapsulating it in an EVAL-WHEN form. This breaks bindings.lisp.
Apart from that, and from the fact that your tests files include functions with too many arguments (ECL is restricted to 64 required arguments, but this could be changed, probably), things run ok here.
Did you also remove al FAS files from CFFI? They typically become incompatible from version to version.
Juanjo
-----
Using ECL from CVS (repository in common-lisp.net!!!) I just type
(require 'asdf) (require 'rt) (asdf::operate 'asdf:load-source-op "cffi") (load "cffi-tests.asd") (asdf:operate 'asdf:load-op "cffi-tests")