[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