[elephant-devel] upgrade from 0.9 to 1.0

Ian Eslick eslick at media.mit.edu
Wed Jan 13 23:10:43 UTC 2010


Are you unable to build 4.7?

(I presume you've got my-config.sexp pointing at 4.5 and telling the code to use the 4.5 constants)

Error #22 basically means that some constant passed to the C function open-store are incorrect.  While in the lisp debugger, if you attach to the lisp using GDB you can often see the C stack to see which function failed.  Generally, debugging these errors is really annoying - I haven't found a clean way of getting the real debug information out of these calls.

One quick suggestion.  Try doing an open-store with the :deadlock-detect nil keyword argument.  I can't remember for sure whether that is dependent on 4.6 or 4.7 but it's worth trying.

Best,
Ian

On Jan 13, 2010, at 3:00 PM, Frank Schorr wrote:

> Hi Ian:
> 
> Now I managed to build the libberkeley-db.dll with BDB 4.5 with these commands:
> 
> 
> gcc -L'/cygdrive/C/Programme/Oracle/Berkeley DB 4.5.20/lib/' \
>    -I'/cygdrive/C/Programme/Oracle/Berkeley DB 4.5.20/include/' \
>    -llibdb45 \
>    -mno-cygwin \
>    -mwindows \
>    -Wall \
>    -c \
>    -std=c99 \
>    "/cygdrive/c/lisp/libraries/elephant-1.0/src/db-bdb/libberkeley-db.c"
> 
> dlltool -z "/cygdrive/C/lisp/libraries/elephant-1.0/src/db-bdb/libberkeley-db.def" \
>    --export-all-symbols \
>    -e exports.o \
>    -l '/cygdrive/C/lisp/libraries/elephant-1.0/src/db-bdb/libberkeley-db.lib' \
>    '/cygdrive/C/lisp/libraries/elephant-1.0/src/db-bdb/libberkeley-db.o'
> 
> gcc -L'/cygdrive/C/Programme/Oracle/Berkeley DB 4.5.20/bin/' \
>    -I'/cygdrive/C/Programme/Oracle/Berkeley DB 4.5.20/include/' \
>    -llibdb45 \
>    -shared \
>    -mno-cygwin \
>    -mwindows \
>    -Wall \
>    '/cygdrive/C/lisp/libraries/elephant-1.0/src/db-bdb/libberkeley-db.o' \
>    exports.o \
>    -o '/cygdrive/C/lisp/libraries/elephant-1.0/src/db-bdb/libberkeley-db.dll'
> 
> 
> I will amend the asdf file to do this automatically within the next couple of days. 
> The library file (here: "libdb45") is defined in the asdf. Shouldn't this happen in my-config.sexp ?
> 
> I can load :ele-bdb
> This is the output with some warnigs you might be interested in:
> 
> ; loading system definition from c:\lisp\libraries\elephant-1.0\elephant.asd into
> ; #<The ASDF0 package, 0/16 internal, 0/16 external>
> ; Loading text file c:\lisp\libraries\elephant-1.0\elephant.asd
> ; registering #<SYSTEM ELEPHANT 200E75BF> as ELEPHANT
> ;; Creating system COMMON-LISP-USER::ELEPHANT->SRC->UTILS
> ;; Creating system COMMON-LISP-USER::ELEPHANT->SRC->MEMUTIL
> ;; Creating system COMMON-LISP-USER::ELEPHANT->SRC->ELEPHANT
> ;; Creating system COMMON-LISP-USER::ELEPHANT->SRC
> ;; Creating system COMMON-LISP-USER::ELEPHANT
> ; loading system definition from c:\lisp\libraries\cl-base64-3.3.2\cl-base64.asd into
> ; #<The ASDF0 package, 0/16 internal, 0/16 external>
> ; Loading text file c:\lisp\libraries\cl-base64-3.3.2\cl-base64.asd
> ; registering #<SYSTEM CL-BASE64 21ADC563> as CL-BASE64
> ;; Creating system COMMON-LISP-USER::CL-BASE64
> ; registering #<SYSTEM CL-BASE64-TESTS 200F500B> as CL-BASE64-TESTS
> ;; Creating system COMMON-LISP-USER::CL-BASE64-TESTS
> ; loading system definition from c:\lisp\libraries\uffi-1.5.18\uffi.asd into #<The ASDF0 package, 0/16 internal, 0/16 external>
> ; Loading text file c:\lisp\libraries\uffi-1.5.18\uffi.asd
> ; registering #<SYSTEM UFFI 21AD98E7> as UFFI
> ;; Creating system COMMON-LISP-USER::UFFI->SRC
> ;; Creating system COMMON-LISP-USER::UFFI
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\uffi-1.5.18\src\package.ofasl
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\uffi-1.5.18\src\primitives.ofasl
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\uffi-1.5.18\src\objects.ofasl
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\uffi-1.5.18\src\aggregates.ofasl
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\uffi-1.5.18\src\functions.ofasl
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\uffi-1.5.18\src\strings.ofasl
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\uffi-1.5.18\src\libraries.ofasl
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\uffi-1.5.18\src\os.ofasl
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\cl-base64-3.3.2\package.ofasl
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\cl-base64-3.3.2\encode.ofasl
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\cl-base64-3.3.2\decode.ofasl
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\elephant-1.0\src\utils\package.ofasl
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\elephant-1.0\src\utils\convenience.ofasl
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\elephant-1.0\src\utils\locks.ofasl
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\elephant-1.0\src\utils\os.ofasl
> Attempting to load libmemutil.dll...
> Loaded c:\lisp\libraries\elephant-1.0\src\memutil\libmemutil.dll
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\elephant-1.0\src\memutil\memutil.ofasl
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\elephant-1.0\src\elephant\package.ofasl
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\elephant-1.0\src\elephant\variables.ofasl
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\elephant-1.0\src\elephant\transactions.ofasl
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\elephant-1.0\src\elephant\schemas.ofasl
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\elephant-1.0\src\elephant\metaclasses.ofasl
> Warning: (METHOD (SETF SLOT-DEFINITION-ALLOCATION) (T PERSISTENT-SLOT-DEFINITION)) defined more than once in c:\lisp\libraries\elephant-1.0\src\elephant\metaclasses.lisp.
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\elephant-1.0\src\elephant\classes.ofasl
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\elephant-1.0\src\elephant\cache.ofasl
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\elephant-1.0\src\elephant\serializer.ofasl
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\elephant-1.0\src\elephant\controller.ofasl
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\elephant-1.0\src\elephant\schema-evolution.ofasl
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\elephant-1.0\src\elephant\cached-slots.ofasl
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\elephant-1.0\src\elephant\collections.ofasl
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\elephant-1.0\src\elephant\indexed-slots.ofasl
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\elephant-1.0\src\elephant\pset.ofasl
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\elephant-1.0\src\elephant\set-valued-slots.ofasl
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\elephant-1.0\src\elephant\associations.ofasl
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\elephant-1.0\src\elephant\serializer1.ofasl
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\elephant-1.0\src\elephant\serializer2.ofasl
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\elephant-1.0\src\elephant\unicode.ofasl
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\elephant-1.0\src\elephant\migrate.ofasl
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\elephant-1.0\src\elephant\gc.ofasl
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\elephant-1.0\src\elephant\query.ofasl
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\elephant-1.0\src\elephant\data-store-api.ofasl
> 
> 
> Warnings:
> (METHOD (SETF SLOT-DEFINITION-ALLOCATION) (T ELEPHANT::PERSISTENT-SLOT-DEFINITION)) defined more than once in c:\lisp\libraries\elephant-1.0\src\elephant\metaclasses.lisp.
> NIL 
> 
> ---- Done ----
> ; loading system definition from c:\lisp\libraries\elephant-1.0\ele-bdb.asd into
> ; #<The ASDF0 package, 0/16 internal, 0/16 external>
> ; Loading text file c:\lisp\libraries\elephant-1.0\ele-bdb.asd
> Warning: (DEFCLASS ELEPHANT-C-SOURCE) being redefined in c:\lisp\libraries\elephant-1.0\ele-bdb.asd (previously in c:\lisp\libraries\elephant-1.0\elephant.asd).
> ; registering #<SYSTEM ELE-BDB 21C5E92B> as ELE-BDB
> ;; Creating system COMMON-LISP-USER::ELE-BDB->SRC->DB-BDB
> ;; Creating system COMMON-LISP-USER::ELE-BDB->SRC
> ;; Creating system COMMON-LISP-USER::ELE-BDB
> Attempting to load libmemutil.dll...
> Loaded c:\lisp\libraries\elephant-1.0\src\memutil\libmemutil.dll
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\elephant-1.0\src\memutil\memutil.ofasl
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\elephant-1.0\src\db-bdb\package.ofasl
> Loading C:/Programme/Oracle/Berkeley DB 4.7.25/bin/libdb47.dll
> Attempting to load libberkeley-db.dll...
> Loaded c:\lisp\libraries\elephant-1.0\src\db-bdb\libberkeley-db.dll
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\elephant-1.0\src\db-bdb\berkeley-constants.ofasl
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\elephant-1.0\src\db-bdb\berkeley-db.ofasl
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\elephant-1.0\src\db-bdb\bdb-controller.ofasl
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\elephant-1.0\src\db-bdb\bdb-slots.ofasl
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\elephant-1.0\src\db-bdb\bdb-collections.ofasl
> ; Loading fasl file c:\lisp\binaries\lispworks-5.0.2-win-i386\lisp\libraries\elephant-1.0\src\db-bdb\bdb-transactions.ofasl
> 
> Warnings:
> (DEFCLASS ELEPHANT-SYSTEM:ELEPHANT-C-SOURCE) being redefined in c:\lisp\libraries\elephant-1.0\ele-bdb.asd (previously in c:\lisp\libraries\elephant-1.0\elephant.asd).
> NIL 
> 
> 
> (setf *db-spec* '(:BDB #p"c:/temp/testdb/"))
> (ele:open-store *db-spec*)
> 
> throws this error:
> 
> Error: Berkeley DB error #22: Invalid argument
> 
> Call to (METHOD ELEPHANT::OPEN-CONTROLLER (DB-BDB::BDB-STORE-CONTROLLER)) (offset 295)
> 
> Call to CLOS::METHOD-COMBINATION-TEMPLATE (offset 62)
> 
> Call to OPEN-STORE (offset 66)
> 
> Call to EVAL (offset 113)
>  EXP : (OPEN-STORE *DB-SPEC*)
> 
> Call to EDITOR::EDITOR-EVAL (offset 177)
>  EDITOR:BUFFER  : :DONT-KNOW
>  EDITOR::SEXP   : (OPEN-STORE *DB-SPEC*)
>  EDITOR::ERRORP : T
> 
> Call to (SUBFUNCTION 3 (SUBFUNCTION 1 EDITOR::REGION-LISP-EVAL)) (offset 26)
>  EDITOR::FORM  : (OPEN-STORE *DB-SPEC*)
>  EDITOR:BUFFER : #<EDITOR:BUFFER work.lisp>
> 
> 
> sparse information...
> Do you have a global place for setting the debug information ?
> 
> Best regards,
> Frank
> 
> 
>> -----Ursprüngliche Nachricht-----
>> Von: "Ian Eslick" <eslick at media.mit.edu>
>> Gesendet: 11.01.10 00:16:56
>> An: Elephant bugs and development <elephant-devel at common-lisp.net>
>> Betreff: Re: [elephant-devel] upgrade from 0.9 to 1.0
>> Priorität: Niedrig
> 
> 
>> I know we have pre-build Elephant DLLs for 4.5 which should work with 1.0.  Is that configuration working for everyone?
>> 
>> What's the current status of LW and BDB 4.7?  I only have access to LW 5.1 at the moment (Personal Edition for 6 is not out yet) so will not be able to help debug 6.0.  It will also take me a bit to find time to remember all the details of getting a windows machine to run elephant.  I should do it eventually in order to help test the 1.0 release, but it may be another week before I can get to this one.
>> 
>> Thank you,
>> Ian
> 
> ______________________________________________________
> GRATIS für alle WEB.DE-Nutzer: Die maxdome Movie-FLAT!
> Jetzt freischalten unter http://movieflat.web.de
> 
> 
> _______________________________________________
> elephant-devel site list
> elephant-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/elephant-devel





More information about the elephant-devel mailing list