[cffi-devel] CLSQL 3.7.1, CFFI and Oracle

Ricardo Boccato Alves boccato at gmail.com
Sat Sep 9 16:19:30 UTC 2006


Hi,

I updated clsql to version 3.7.1 and it is not working (for Oracle)
anymore using CFFI (updated from darcs repo today). I tried CLISP
versions 1.39 and Allegro 8.0 on windows XP. The problem happens when
I try to connect.

The error message is:
"Symbol "DEF-POINTER-VAR" not found in the CFFI-UFFI-COMPAT package."

I think that this macro is missing. I copied the macro def-pointer-var
from uffi's objects.lisp to uffi-compat.lisp...

;;; Define a special variable, like DEFVAR, that will be initialized
;;; to a pointer which may need to be reset when a saved image is
;;; loaded.  This is needed for OpenMCL, which sets pointers to "dead
;;; macptrs" when a saved image is loaded.
;; This may possibly be needed for sbcl's SAVE-LISP-AND-DIE
(defmacro def-pointer-var (name value &optional doc)
  #-openmcl `(defvar ,name ,value ,@(if doc (list doc)))
  #+openmcl `(ccl::defloadvar ,name ,value ,doc))

..and added #:def-pointer-var to cffi-user-compat's export symbols.
Now it seems to work buy I am not sure it is the best solution.

[]s,
Ricardo Boccato Alves.



More information about the cffi-devel mailing list