[elephant-devel] BDB problems and a proper FAQ

Ian Eslick eslick at media.mit.edu
Fri Nov 13 18:19:54 UTC 2009


Hi All,

To address recent discussions.

I'm ostensibly the primary developer on Elephant; the three prior  
primary developers have been inactive for years now.  Leslie has  
recently been kind enough to step up and help with user support and  
bug fixes and will certainly be recognized in the 1.0 manual when  
we're ready for a final release (updating the manual has been one of  
the gating tasks).  We all do our best to help and want Elephant to be  
as robust as possible.  I in particular have been lousy at responding  
recently, but there are of course good reasons for that.

Anyway, I'm sorry to hear that your experience has been so  
frustrating.  Unfortunately, the 64-bit lisp + OS + BDB combinations  
have made things much more difficult than they once were.  As an  
aside, Franz AllegroCache has most of the features of Elephant and has  
a great and responsive support staff.  If you are frustrated with the  
state of free, volunteer-developed lisp libraries it is possible to  
pay to get more reliability and better support!

There are dozens of users of Elephant, some casual and some serious.   
Some are working on older versions of the library as their deployed  
systems are stable and not actively developed so not everyone is  
subject to problems with the current release.  Leslie and I are just  
the most vocal on this list.  I'm running Elephant under ClozureCL  
these days and it works fine under Snow Leopard as well as Debian.

What's your current status, are you still stuck with the 'invalid  
argument' problems?


I think that a FAQ on the home page would be a great way to keep track  
of the kind of issues that you have experienced.  Here is a first  
crack at it; please add your own experiences/observations and I'll  
post it on the home page.

1) Documentation for 1.0 release

The documentation on the website is from the 0.9.1 release and may be  
incorrect in some details.  The mailing list since 2008 and this FAQ  
should supersede anything in the documentation.

2) CLBUILD Compatability

Elephant does not work properly under the default cl-build  
configuration due to it's UFFI dependency.  We have made attempts to  
port BDB to CFFI without success;  there are subtle issues that lead  
to obscure bugs and the original FFI developer who wrote that code  
left the project in 2003 or 2004 and no one else has yet had the time  
and expertise to resolve them.  The workaround, thanks to Sebastian  
Tennant, is:

a) Edit wnpp-projects so that elephant-1.0 is pulled from darcs.
b) Install UFFI (available from URL) and ensure that the 'real'  
uffi.asd is found by ASDF first.

3) Library and Lisp Dependencies

The most common active configurations of the 1.0 release branch is on  
SBCL/Linux/Postmodern+BDB and ClozureCL/MacOS/BDB.  Elephant is known  
to work on those platforms when properly configured.

We track the latest version of BDB.  The current 1.0 pre-release  
depends on BDB 4.7.

4) 64-bit Lisp and BDB

If you are running a 32-bit or 64-bit lisp, BDB will need to be built  
for the appropriate architecture.  Due to this the default MacPorts,  
Debian packages or  other pre-packaged distributions of BDB may fail  
for you.  Building from source is the appropriate solution (thanks to  
Matthew Emerson for the script).  Don't forget to update my- 
config.sexp to use "4.7" and point to the appropriate paths.

a. get bdb 4.7

Direct link; if it doesn't work use the index page:
http://download.oracle.com/berkeley-db/db-4.7.25.tar.gz

Index page:
http://www.oracle.com/technology/software/products/berkeley-db/db/index.html

b. unpack into /usr/local/src (or wherever)

Build docs are at

file:///usr/local/src/db-4.7.25/docs/ref/build_unix/intro.html

(or wherever you put it)

c. cd to db-4.7.25/build_unix

d. use the following command line to configure, where $ is the shell  
prompt

$ CFLAGS="-arch x86_64" LDFLAGS="-arch x86_64" ../dist/configure

e. sudo make install


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/elephant-devel/attachments/20091113/a2b42f22/attachment.html>


More information about the elephant-devel mailing list