I just tried to pull in a current version of cl-cairo2 via asdf-install, and I ran into the following:
There is no class named CL-CAIRO2::MY-DOUBLE-TYPE.
(in cl-cairo2-swig)
For me, the failing define-foreign-type expands into:
(PROGN (CFFI::DEFINE-TYPE-SPEC-PARSER MY-DOUBLE-TYPE NIL (MAKE-INSTANCE 'CFFI::FOREIGN-TYPEDEF :NAME 'MY-DOUBLE-TYPE :ACTUAL-TYPE (CFFI::PARSE-TYPE (PROGN NIL (:ACTUAL-TYPE :DOUBLE) (:SIMPLE-PARSER MY-DOUBLE))))) 'MY-DOUBLE-TYPE)
Note that parse-type is a function, thus (:actual-type ...) will be interpreted as a function call.
This could be due a cffi mismatch: I have cffi 0.9.2 (the latest release). Do you use the one from darcs?
Also, all three library names don't work in Ubuntu 8.04. I added the alternatives:
cairo.lisp: (load-foreign-library '(:or "libcairo" "libcairo.so.2"))
gtk-context.lisp: (define-foreign-library :gdk (cffi-features:unix (:or "libgdk-x11-2.0.so" "libgdk-x11-2.0.so.0")) (cffi-features:windows "libgdk-win32-2.0-0.dll") (cffi-features:darwin "libgdk-win32-2.0-0.dylib"))
xlib.lisp: (load-foreign-library '(:or "libX11.so" "libX11.so.6"))
Peter