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

Peter Hildebrandt peter.hildebrandt at gmail.com
Sat May 3 17:49:37 UTC 2008


Tamas,

thanks for getting back to me.  I had postponed the cffi upgrade,
because it breaks cells-gtk.  I guess the time has come and I have to
figure out how to change those typedefs.

Anyway, asdf-install failed around the my-double-type form.  I created
a quick fix with #+sbcl features.  The attached patch also contains
additions for the library names on ubuntu 8.04 (name.so.X instead of
name.so).

Thanks again,
Peter


On Sat, May 3, 2008 at 5:43 PM, Tamas K Papp <tpapp at princeton.edu> wrote:
> On Tue, Apr 29, 2008 at 05:57:41PM +0200, Peter Hildebrandt wrote:
>
>  Hi Peter,
>
>  Sorry, I didn't have time to investigate this until now.
>
>
>  > 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?
>
>  There has been a change in CFFI, AFAIK cl-cairo2 uses the new
>  interface.  My cffi version is 20080217-1, which does not appear to be
>  in Ubuntu, so you should do a manual install from the repository.
>  BTW, my version is from the latest (unstable) Debian package, so maybe
>  it would help to nudge the Ubuntu maintainers to package the latest version.
>
>
>  > 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"))
>
>  Please try the new version of CFFI with the original code, and tell me
>  if the error persists.
>
>  Tamas
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cl-cairo2-sbcl.patch
Type: application/octet-stream
Size: 2488 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/cl-cairo2-devel/attachments/20080503/d3350bec/attachment.obj>


More information about the Cl-cairo2-devel mailing list