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" <esl...@media.mit.edu> >> Gesendet: 11.01.10 00:16:56 >> An: Elephant bugs and development <elephant-devel@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@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