Hi Ian,

Sorry for the late reply.  I have a rather annoying cold at the moment.

Quoth Ian Eslick <esl...@media.mit.edu>:
> 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.

I've no doubt there are.  Glad to hear that Leslie will be getting a mention in
the 1.0 manual.  He's been very patient with me!!!

> 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!

Noted.

> 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.  

Naturally.

> Leslie and I are just the most vocal on this list.

Understood.

> I'm running Elephant under ClozureCL these days and it works fine under Snow
> Leopard as well as Debian.

Noted.

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

Yeah, I'm afraid so (on my Mac).  I've got an elephant-1.0 bdb 4.7 store
working on a 32-bit Debian box with SBCL 1.0.30 but am having no luck with the
Mac, even with CCL.  I'll post a backtrace in a separate thread.

> 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.

You've covered pretty much everything.  Please find attached HTML (which I hope
is a help).

Regards,

Sebastian
-- 
Emacs' AlsaPlayer - Music Without Jolts
Lightweight, full-featured and mindful of your idyllic happiness.
http://home.gna.org/eap

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.

clbuild compatability

Elephant does not work properly under the default clbuild configuration due to it's UFFI (not available through clbuild) dependency. We have made attempts to port Berkeley DB to CFFI (available through clbuild) but 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:

  • Edit wnpp-projects so that elephant-1.0 is pulled from darcs. Simply add '-1.0' to elephant's existing entry in wnpp-projects.
  • Install UFFI (available from http://uffi.b9.com/download.html) and ensure that the uffi.asd file included in the download is found by ASDF before CFFI's uffi.asd, i.e., ensure that the systems directory containing the 'real' uffi.asd comes before clbuild's systems directory in asdf:*central-registry*.

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 these platforms when properly configured.

A patched version of Berkeley DB 4.7 is recommended (see below).

64-bit Lisp and Berkeley DB

If you are running a 64-bit lisp, Berkeley DB will need to be built accordingly. Package managers (e.g., MacPorts or Debian's APT) tend to build/ship 32-bit versions of Berkeley DB, in which case building a 64-bit version from source is the appropriate solution:

  • Get Berkeley DB 4.7 from here and apply the patches. (If either of the above links don't work, navigate from the Berkeley DB index page).
  • Unpack into /usr/local/src (or wherever). Build documentation can then be found locally as well as online.
  • $ cd db-4.7.25/build_unix
  • $ CCFLAGS="-arch x86_64" LDFLAGS="-arch x86_64" ../dist/configure (Thanks to Mathew Emerson for the magic flags).
  • $ sudo make install
  • Finally, don't forget to create the elephant configuration file my-config.sexp so that it refers to "4.7" and points to the appropriate paths.

_______________________________________________
elephant-devel site list
elephant-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/elephant-devel

Reply via email to