[elephant-devel] Elephant & Lispworks?

Klaus Harbo klaus at harbo.net
Thu Dec 15 23:53:00 UTC 2005


I've been taking a closer look at Elephant this evening, but haven't  
had too much luck getting it work with Lispworks.  In src/ 
sleepycat.lisp, the code

         (eval-when (:compile-toplevel :load-toplevel)
             (unless
                 (uffi:load-foreign-library
                  (if (find-package 'asdf)
                    (merge-pathnames
                     #p"libmemutil.so"
                     (asdf:component-pathname (asdf:find-system  
'elephant)))
                    (format nil "~A/~A" *elephant-lib-path*  
"libmemutil.so"))
                  :module "libmemutil")
               (error "Couldn't load libmemutil.so!"))
           ;; fini on user editable part
           (def-type pointer-int (* :int))
           (def-type pointer-void :pointer-void)
!         (def-foreign-type array-or-pointer-char
!             #+allegro (:array :char)
!             #+(or cmu sbcl scl openmcl) (* :char))
           (def-type array-or-pointer-char array-or-pointer-char)
           (def-enum DBTYPE ((:BTREE 1) :HASH :QUEUE :RECNO :UNKNOWN))
         )

combined with the definition of def-foreign-type in UFFI (I have  
v1.5.7 downloaded today)

         (defmacro def-foreign-type (name type)
           #+lispworks `(fli:define-c-typedef ,name ,(convert-from- 
uffi-type type :type))
           ...
           )

suggests to me that Lispworks is NOT supported in Elephant(?).  I'm  
not too familiar with FLI, though, so I may be missing something...   
I'm wondering if anyone on the list could enlighten me?

-Klaus.



More information about the elephant-devel mailing list