[cl-cairo2-devel] issues with cl-cairo2 from asdf-install

Peter Hildebrandt peter.hildebrandt at gmail.com
Tue Apr 29 15:57:41 UTC 2008


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



More information about the Cl-cairo2-devel mailing list