Ian, Sorry for the delay. I've been way too busy lately.
Anyway, I made another attempt after getting the latest CVS of Elephant and BDB 4.5. Elephant loaded just fine as you also experienced. I compiled BDB with CFLAGS="-arch x86_64" and LDFLAGS="-arch x86_64" in order to compile it for 64-bit. It compiled just fine and seems to run the Berkely test suite just fine. However, after several attempts and tweaks, when I try loading :ele-bdb, I keep getting stuck here: /Users/dev/lisp/elephant/src/db-bdb/libberkeley-db.c: In function 'db_set_dup_compare': /Users/dev/lisp/elephant/src/db-bdb/libberkeley-db.c:820: error: 'struct __db' has no member named 'set_dup_compare' /Users/dev/lisp/elephant/src/db-bdb/libberkeley-db.c: In function 'db_set_lisp_compare': /Users/dev/lisp/elephant/src/db-bdb/libberkeley-db.c:1129: error: 'struct __db' has no member named 'set_bt_compare' /Users/dev/lisp/elephant/src/db-bdb/libberkeley-db.c:1131: error: 'struct __db' has no member named 'set_bt_compare' /Users/dev/lisp/elephant/src/db-bdb/libberkeley-db.c: In function 'db_set_lisp_dup_compare': /Users/dev/lisp/elephant/src/db-bdb/libberkeley-db.c:1138: error: 'struct __db' has no member named 'set_dup_compare' /Users/dev/lisp/elephant/src/db-bdb/libberkeley-db.c:1140: error: 'struct __db' has no member named 'set_dup_compare' erred while invoking #<COMPILE-OP NIL #x30004114D59D> on #<BDB-C-SOURCE "libberkeley-db" #x30004115093D> [Condition of type ASDF:OPERATION-ERROR] Restarts: 0: [RETRY] Retry performing #<COMPILE-OP NIL #x30004114D59D> on #<BDB-C-SOURCE "libberkeley-db" #x30004115093D>. 1: [ACCEPT] Continue, treating #<COMPILE-OP NIL #x30004114D59D> on #<BDB-C-SOURCE "libberkeley-db" #x30004115093D> as having been successful. 2: [ABORT] Return to SLIME's top level. 3: [ABORT-BREAK] Reset this process 4: [ABORT] Kill this process Backtrace: 0: (#<STANDARD-METHOD ASDF:PERFORM (ASDF:COMPILE-OP ELEPHANT-SYSTEM:ELEPHANT-C-SOURCE)> #<COMPILE-OP NIL #x30004114D59D>) 1: (CCL::%%BEFORE-AND-AFTER-COMBINED-METHOD-DCODE '(NIL #<STANDARD-METHOD ASDF:PERFORM (ASDF:COMPILE-OP ELEPHANT-SYSTEM:ELEPHANT-C-SOURCE)> . 6095616)) 2: (CCL::%%STANDARD-COMBINED-METHOD-DCODE '(#<RESTART ASDF:RETRY #x421758D> #<RESTART ASDF:ACCEPT #x42175DD>) #<RESTART ASDF:RETRY #x421758D>) 3: (ASDF:OPERATE 'ASDF:LOAD-OP ':ELE-BDB) 4: (CCL::CALL-CHECK-REGS 'ASDF:OOS) Any ideas? Thanks. Daniel On Wed, January 31, 2007 5:32 pm, Ian Eslick <[EMAIL PROTECTED]> said: > I can get OpenMCL 1.1 to compile build and launch, but BDB cannot > open a newly created DB in open-store-controller. I'm wondering if > this is due to UFFI's handling of types such that we're getting 32- > bit instead of 64-bit pointers out of the underlying C API (int vs. > long)? > > The steps to getting this far are: > OpenMCL 1.1 for x86-64 > Configure and compile BDB 4.5 with -arch x86_64 > (something like: env LDFLAGS="-arch x86_64" CFLAGS="-arch x86_64" > configure from build_unix) > Latest Elephant 0.6.1 from CVS (as of 1/31/07) > > Daniel, want to take another crack at this? > > Thanks, > Ian > > On Jan 24, 2007, at 11:22 AM, [EMAIL PROTECTED] wrote: > >> I have been trying to make 0.6.1 work under OpenMCL Version 1.1- >> pre-061231 (DarwinX8664). However, as I mentioned before, I have >> been having compilation problems. >> >> They seem to be mainly related to libmemutil. >> >> Out of the box attempt, I got the following error: >> >> ; $ /usr/bin/gcc -shared -Wall -fPIC -O3 -o /Users/dev/lisp/ >> elephant/src/memutil/libmemutil.so /Users/dev/lisp/elephant/src/ >> memutil/libmemutil.c -lm >> i686-apple-darwin8-gcc-4.0.1: unrecognized option '-shared' >> /usr/bin/ld: Undefined symbols: >> _main >> collect2: ld returned 1 exit status >> >> Upon inspection of elephant.asd, I made the following change: >> >> (defmethod compiler-options ((compiler (eql :gcc)) (c elephant-c- >> source) &key input-file output-file) >> "Default compile and link options to create a library; no -L or - >> I options included; math lib as default" >> (unless (and input-file output-file) >> (error "Must specify both input and output files")) >> (list >> #-(or openmcl darwin macosx) "-shared" >> #+(or openmcl darwin macosx) "-bundle" >> "-Wall" >> "-fPIC" >> "-O3" >> "-o" output-file >> input-file >> "-lm")) >> >> What I basically did is I added "openmcl" to the conditionalization >> #- and #+. After making this change, it successfully builds the >> libmemutil.so file. However, while the file actually exists, it >> fails to load with the following message: >> >> Error opening shared library "/Users/dev/lisp/elephant/src/memutil/ >> libmemutil.so": dlopen(/Users/dev/lisp/elephant/src/memutil/ >> libmemutil.so, 10): no suitable image found. Did find: >> /Users/dev/lisp/elephant/src/memutil/libmemutil.so: mach-o, but >> wrong architecture >> [Condition of type SIMPLE-ERROR] >> >> FYI, my *FEATURES* is: >> >> (:KMR-NORMAL-DSDC :KMR-NORMAL-CESD :KMR-MOP :ASDF :PRIMARY- >> CLASSES :COMMON-LISP :OPENMCL :CLOZURE :ANSI-CL :UNIX :OPENMCL- >> NATIVE-THREADS :OPENMCL-PARTIAL-MOP :MCL-COMMON-MOP-SUBSET :OPENMCL- >> MOP-2 :OPENMCL-PRIVATE-HASH-TABLES :OPENMCL-HASH- >> CONSING :X86-64 :X86-64 :X86-TARGET :X86-HOST :X8664-TARGET :X8664- >> HOST :DARWIN-HOST :DARWIN-TARGET :DARWINX86-TARGET :DARWINX8664- >> TARGET :DARWINX8664-HOST :POWEROPEN-TARGET :64-BIT-TARGET :64-BIT- >> HOST :LITTLE-ENDIAN-TARGET :LITTLE-ENDIAN-HOST :MCL) >> >> I don't really know why it cannot load the shared library. I don't >> know if the problem is basically a compat issue with this CVS >> version of OpenMCL in this architecture and/or UFFI. However, I >> thought I would share this just in case anyone has information that >> could speed this process or any suggestions of what I may try next. >> >> Thanks, >> Daniel >> >> _______________________________________________ >> 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