Hi list, elephant-1.0 (git) SBCL (git) Intel Core 2 Duo MacOS X Leopard
I built and installed BerkeleyDB 4.5 as per /src/contrib/henrik's script. It compiled prefectly cleanly, withtout any problems at all. my-config.sexp reads: ((:compiler . :gcc) (:berkeley-db-version . "4.5") (:berkeley-db-include-dir . "/usr/local/BerkeleyDB.4.5/include/") (:berkeley-db-lib-dir . "/usr/local/BerkeleyDB.4.5/lib/") (:berkeley-db-lib . "/usr/local/BerkeleyDB.4.5/lib/libdb-4.5.dylib") (:berkeley-db-deadlock . "/usr/local/BerkeleyDB.4.5/bin/db_deadlock") (:berkeley-db-cachesize . 20971520) (:berkeley-db-max-locks . 2000) (:berkeley-db-max-objects . 2000) (:berkeley-db-map-degree2 . t) (:berkeley-db-mvcc . nil) (:clsql-lib-paths . nil) (:prebuilt-libraries . nil)) I get the following error when I try and open a store: (asdf:operate 'asdf:load-op 'elephant) (use-package :elephant) (defconstant +store+ '(:BDB #p"/path/to/my/store/")) (open-store +store+) ;;; => erred while invoking #<COMPILE-OP NIL {1003FF3A01}> on ;;; #<BDB-C-SOURCE "libberkeley-db" {1003FDF6F1}> ;;; [Condition of type ASDF:OPERATION-ERROR] Full text of error: Attempting to load libmemutil.dylib... Loaded /Users/admin/cl/clbuild/source/elephant/src/memutil/libmemutil.dylib ; $ gcc -L/usr/local/BerkeleyDB.4.5/lib/ -I/usr/local/BerkeleyDB.4.5/include/ -bundle -arch x86_64 -fPIC -Wall -g -O2 -g /Users/admin/cl/clbuild/source/elephant/src/db-bdb/libberkeley-db.c -o /Users/admin/cl/clbuild/source/elephant/src/db-bdb/libberkeley-db.dylib -lm -ldb-4.5 /Users/admin/cl/clbuild/source/elephant/src/db-bdb/libberkeley-db.c: In function ‘lisp_compare2’: /Users/admin/cl/clbuild/source/elephant/src/db-bdb/libberkeley-db.c:1061: warning: unused variable ‘i’ /Users/admin/cl/clbuild/source/elephant/src/db-bdb/libberkeley-db.c: In function ‘lisp_compare_key2’: /Users/admin/cl/clbuild/source/elephant/src/db-bdb/libberkeley-db.c:1155: warning: unused variable ‘i’ ld warning: in /usr/local/BerkeleyDB.4.5/lib//libdb-4.5.dylib, file is not of required architecture Undefined symbols: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ "_db_env_create", referenced from: _db_env_cr in cc1XG9uq.o "_db_strerror", referenced from: _db_strerr in cc1XG9uq.o "_db_create", referenced from: _db_cr in cc1XG9uq.o "_db_sequence_create", referenced from: _db_sequence_create2 in cc1XG9uq.o ld: symbol(s) not found collect2: ld returned 1 exit status erred while invoking #<COMPILE-OP NIL {1003FF3A01}> on #<BDB-C-SOURCE "libberkeley-db" {1003FDF6F1}> [Condition of type ASDF:OPERATION-ERROR] Inspection shows: $ file /usr/local/BerkeleyDB.4.5/lib/libdb-4.5.dylib libdb-4.5.dylib: Mach-O dynamically linked shared library i386 But: $ file ~/clbuild/source/elephant/src/memutil/libmemutil.dylib libmemutil.dylib: Mach-O 64-bit bundle x86_64 so I wonder if there's a way to tell BDB to build 64-bit dynamic libraries, or if that's even the problem. Any help/tips/pointers much appreciated. For instance, how to test my BerkeleyDB installation without using elephant? Regards, Seb -- Emacs' AlsaPlayer - Music Without Jolts Lightweight, full-featured and mindful of your idyllic happiness. http://home.gna.org/eap _______________________________________________ elephant-devel site list elephant-devel@common-lisp.net http://common-lisp.net/mailman/listinfo/elephant-devel