[cffi-devel] New CFFI with cffi-fsbv

Liam Healy lnp at healy.washington.dc.us
Sun Nov 27 05:33:04 UTC 2011


I think the new CFFI with cffi-fsbv is ready to be tested, even by those
not needing to call or return foreign structures by value.  You can
checkout the cffi-fsbv branch after cloning.  There are two things to keep
in mind: one is to call structures by reference either with :pointer or
(:pointer (:struct foo)), as using the structure name alone will result in
a style warning.  The second is that expand-to-foreign-dyn now has a
keyword argument, so methods should have &key.

I asked Zach to test compling/loading all of the current quicklisp dist
with this branch.  There were a few failures:
1) inotify failed because iolib is out of sync with this branch of CFFI
(changes independent of fsbv).
2) lispmagick failed because this branch of CFFI didn't have an ASDF
version number, so I gave it version number 1.0.0 :-).  There remains a
failure with TRANSLATE-INTO-FOREIGN-MEMORY on #<CFFI::FOREIGN-STRING-TYPE
:UTF-8> which I don't understand.
3) fnv and blapack loads fine for me (apart from a path
issue<https://github.com/blindglobe/cl-blapack/issues/1>);
Zach gets warning/errors on defining keyword types :complex-double and
:complex-float.
4) devil needs to have &key in the arglist for expand-to-foreign-dyn as
explained.
5) blackthorn fails to load for Zach but I tried a few systems (blackthorn,
blackthorn-stress-test, thopter) and they all load fine.  His errors are
all like this:
 Derived type of #:G331 is (VALUES SB-SYS:SYSTEM-AREA-POINTER &OPTIONAL),
conflicting with its asserted type (UNSIGNED-BYTE 32).

I have not pulled master into this branch, so it's a few commits behind.
Post here on how things look for you, good or bad.

Liam
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/cffi-devel/attachments/20111127/06220849/attachment.html>


More information about the cffi-devel mailing list