Hello Ian,

thank you for the quick response!

On Sun, Dec 6, 2009 at 5:44 PM, Ian Eslick <esl...@media.mit.edu> wrote:
> Hey, quick answers:
>
> 1) In the online FAQ you'll notice that you have to ensure that you are using 
> uffi and not the uffi compatibility package from cffi.

Ok, had missed that...

> 2) The prebuilt DLLs are not up to date (sorry!), they need to be made 
> current against BDB 4.7 which Elephant 1.0 depends on.

Ok, had no idea from the doc or source that 4.7 is the current target,
but that's even better.

> 3) We have one or two lispworks users that I'm aware of, so it should work, 
> but I can't rule out a lispworks specific problem, although I think #1 and #2 
> above explain what you're seeing.
>
> Are you a position to build the DLLs yourself?

Haven't touched C for years now and never had the pleasure with cygwin
but now I'll try it :)

>
> Ian
>
> On Dec 5, 2009, at 5:28 AM, Plamen . wrote:
>
>> Hello,
>> I need to use BDB for my current application and from what I see on
>> the net, elephant seems to be the most mature and functional solution.
>> After following the installation instructions (I use LispWorks 5.1.2
>> for Windows - yes - I need that configuration at the moment, with
>> Berkeley DB 4.5.20, with prebuild DLLs (libberkeley-db.dll and
>> libmemutil.dll) in the elephant-root and from what I see a correct
>> my-config.sexp also in the elephant-root directory), after loading
>> Elephant I get the following error :
>> ELE-USER 13 > (open-store '(:bdb "/temp/db2/"))
>> Error: The call (#<Function DB-BDB::%DB-ENV-CREATE 22053092> 0) does
>> not match definition (#<Function DB-BDB::%DB-ENV-CREATE 22053092>
>> DB-BDB::FLAGS DB-BDB::ERRNO).
>> From what I see in the sources - there are 3 relevant definitions :
>> 1. the BDB one :
>>
>> db_env_create
>>
>> ________________________________
>>
>> #include <db.h>
>>
>> int
>> db_env_create(DB_ENV **dbenvp, u_int32_t flags);
>>
>> 2. then the libberkeley-db one :
>>
>> DB_ENV *db_env_cr(u_int32_t flags, int *errno) {
>>  DB_ENV *envp;
>>  *errno = db_env_create(&envp, flags);
>>  return envp;
>> }
>>
>> 3. and finally the Lisp definitions :
>>
>> (def-function ("db_env_cr" %db-env-create)
>>    ((flags :unsigned-int)
>>     (errno :int :out))
>>  :returning :pointer-void)
>>
>> (defun db-env-create ()
>>  "Create an environment handle."
>>  (multiple-value-bind (env errno)
>>      (%db-env-create 0)
>>    (declare (type fixnum errno))
>>    (if (= errno 0)
>>       env
>>       (error 'db-error :errno errno))))
>>
>> I have cffi_0.10.5 and uffi-1.6.2 (which are currently the newest
>> versions of that libraries).
>>
>> The call (%db-env-create 0) in the db-env-create function looks of
>> course weird for me, but if people use these lines of source on all
>> other Lisp-implementations, obviously I miss something. I know the LW
>> FFI, but I'm not really proficient in the CFFI/UFFI-conversion to see
>> the missing parts, but if there is someone outside in the WWW who runs
>> LWW & BDB and/or knows how to help, I would be very gratefull.
>>
>> Regards
>> Plamen
>>
>> _______________________________________________
>> elephant-devel site list
>> elephant-devel@common-lisp.net
>> http://common-lisp.net/mailman/listinfo/elephant-devel
>
>
> _______________________________________________
> elephant-devel site list
> elephant-devel@common-lisp.net
> http://common-lisp.net/mailman/listinfo/elephant-devel
>

_______________________________________________
elephant-devel site list
elephant-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/elephant-devel

Reply via email to