Hi, I'm experiencing problems when I try to run Elephant with the Berkeley DB backend on certain recent 64-bit Gentoo systems. I've enclosed a sample script which will download and build SBCL, Elephant, and then run a small test.
System A: Core-2 Duo somewhat older Gentoo. /usr/bin/db4.7_deadlock -V Berkeley DB 4.7.25: (2010-08-25) gcc 4.1.2 System B: Core-2 Duo recent Gentoo installation /usr/bin/db4.7_deadlock -V Berkeley DB 4.7.25: (2010-11-18) gcc 4.4.4 System C: Atom recent Gentoo installation /usr/bin/db4.7_deadlock -V Berkeley DB 4.7.25: (2010-11-18) gcc 4.4.4 System D: Core-2 Quad Gentoo (somewhere between A and B) /usr/bin/db4.7_deadlock -V Berkeley DB 4.7.25: (2010-12-14) gcc 4.3.2 A: OK (*** GOT KEY ("Zappa rules!") IN SECOND INVOCATION) B: Unhandled memory fault at #x7D0. C: Unhandled memory fault at #x7D0. D: *** GOT KEY ("Zappa rules!") IN SECOND INVOCATION Then B gcc was downgraded to 4.1.2. The Berkeley db was then recompiled, all .fasl files were deleted, and the result was still: Unhandled memory fault at #x7D0. This occurs at: (open-store cl-user::+ele-storage+) I'm also getting a similar failure with Clojoure so I don't think it's releated to SBCL. Have anybody else experienced these kinds of problems, or have any clues as what the problem might be? //Petter P.S. The script will install QuickLisp if it's not installed
#!/bin/sh # http://prdownloads.sourceforge.net/sbcl/sbcl-1.0.44-x86-64-linux-binary.tar.bz2 # http://prdownloads.sourceforge.net/sbcl/sbcl-1.0.44-x86-linux-binary.tar.bz2 # http://downloads.sourceforge.net/project/sbcl/sbcl/1.0.44/sbcl-1.0.44-source.tar.bz2 unset SBCL_HOME unset SBCL_SOURCE_ROOT unset CDPATH LC_CTYPE=en_US.UTF-8 export LC_CTYPE TARGET_DIR=/tmp/ele-test-dir mkdir -p ${TARGET_DIR} cd ${TARGET_DIR} wget http://prdownloads.sourceforge.net/sbcl/sbcl-1.0.44-x86-64-linux-binary.tar.bz2 tar xvfj sbcl-1.0.44-x86-64-linux-binary.tar.bz2 wget http://downloads.sourceforge.net/project/sbcl/sbcl/1.0.44/sbcl-1.0.44-source.tar.bz2 tar xvfj sbcl-1.0.44-source.tar.bz2 mkdir root cd sbcl-1.0.44 OLD_PATH="$PATH" PATH=${TARGET_DIR}/sbcl-1.0.44-x86-64-linux/src/runtime:$PATH export PATH SBCL_HOME=${TARGET_DIR}/sbcl-1.0.44-x86-64-linux/output export SBCL_HOME sh make.sh --prefix=${TARGET_DIR}/root unset SBCL_HOME INSTALL_ROOT=${TARGET_DIR}/root sh install.sh PATH=${TARGET_DIR}/root/bin:${OLD_PATH} export PATH cd ${TARGET_DIR} darcs get http://www.common-lisp.net/project/elephant/darcs/elephant-1.0 cat > elephant-1.0/my-config.sexp <<EOF #+(and (or sbcl allegro openmcl lispworks) (not (or mswindows windows)) (not (or macosx darwin))) ((:compiler . :gcc) (:berkeley-db-version . "4.7") (:berkeley-db-include-dir . "/usr/include/") (:berkeley-db-lib-dir . "/usr/lib/") (:berkeley-db-lib . "/usr/lib/libdb-4.7.so") (:berkeley-db-deadlock . "/usr/bin/db4.7_deadlock") (:berkeley-db-cachesize . 20971520) (:berkeley-db-map-degree2 . t) (:clsql-lib-paths . nil) (:prebuilt-libraries . nil)) EOF echo "(defconstant +ele-storage+ '(:BDB \"${TARGET_DIR}/ele-storage\"))" > store-name.lisp mkdir ele-storage if test ! -e $HOME/quicklisp/setup.lisp then wget http://quickstart.quicklisp.org/quicklisp.lisp sbcl --no-userinit --no-sysinit --load quicklisp.lisp \ --eval '(quicklisp-quickstart:install")' \ --eval '(sb-ext:quit)' fi sbcl --no-userinit --no-sysinit --load $HOME/quicklisp/setup.lisp --load store-name.lisp <<EOF (in-package #:cl-user) (asdf:initialize-source-registry '(:source-registry :ignore-inherited-configuration)) (ql:quickload "bordeaux-threads") (ql:quickload "cl-base64") (ql:quickload "uffi") (push (make-pathname :directory '(:relative "elephant-1.0")) asdf:*central-registry*) (asdf:oos 'asdf:load-op :elephant) (in-package :elephant) (open-store cl-user::+ele-storage+) (add-to-root "somekey" "Zappa rules!") (when (equal (get-from-root "somekey") "Zappa rules!") (format t "*** GOT KEY (~s) AFTER IT WAS WRITTEN~%" (get-from-root "somekey"))) (sb-ext:quit) EOF sbcl --no-userinit --no-sysinit --load $HOME/quicklisp/setup.lisp --load store-name.lisp <<EOF (in-package #:cl-user) (asdf:initialize-source-registry '(:source-registry :ignore-inherited-configuration)) (ql:quickload "bordeaux-threads") (ql:quickload "cl-base64") (ql:quickload "uffi") (push (make-pathname :directory '(:relative "elephant-1.0")) asdf:*central-registry*) (asdf:oos 'asdf:load-op :elephant) (in-package :elephant) (open-store cl-user::+ele-storage+) (when (equal (get-from-root "somekey") "Zappa rules!") (format t "*** GOT KEY (~s) IN SECOND INVOCATION~%" (get-from-root "somekey"))) (sb-ext:quit) EOF
_______________________________________________ elephant-devel site list elephant-devel@common-lisp.net http://common-lisp.net/mailman/listinfo/elephant-devel