<h3><u>Documentation for 1.0 release</u></h3>

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

<h4><u>clbuild compatability</u></h4>

<p>Elephant does not work properly under the default <tt>clbuild</tt> configuration due
  to it's UFFI (not available through <tt>clbuild</tt>) dependency.  We have made
  attempts to port Berkeley DB to CFFI (available through <tt>clbuild</tt>) 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:
  <ul>
    <li>Edit <tt>wnpp-projects</tt> so that elephant-1.0 is pulled from darcs.  Simply
      add '-1.0' to elephant's existing entry in <tt>wnpp-projects</tt>.</li>
    <li>Install UFFI (available from <a href="http://uffi.b9.com/download.html">
      http://uffi.b9.com/download.html</a>) and ensure that the <tt>uffi.asd</tt> file
      included in the download is found by ASDF before CFFI's <tt>uffi.asd</tt>, i.e.,
      ensure that the systems directory containing the 'real' <tt>uffi.asd</tt> comes
      before <tt>clbuild</tt>'s systems directory in <tt>asdf:*central-registry*</tt>.
    </li>
  </ul>
</p>

<h4><u>Library and Lisp Dependencies</u></h4>

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

<p>A patched version of Berkeley DB <strong>4.7</strong> is recommended (see below).</p>

<h4><u>64-bit Lisp and Berkeley DB</u></h4>

<p>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:
  <ul>
    <li>Get Berkeley DB 4.7 from
      <a target="_blank" href="http://download.oracle.com/berkeley-db/db-4.7.25.tar.gz">here</a>
      and apply
      <a target="_blank" href="http://www.oracle.com/technology/products/berkeley-db/db/update/4.7.25/patch.4.7.25.html">
        the patches</a>.  (If either of the above links don't work, navigate from
      <a target="_blank" href="http://www.oracle.com/technology/software/products/berkeley-db/db/index.html">
        the Berkeley DB index page</a>).</li>
    <li>Unpack into <tt>/usr/local/src</tt> (or wherever).  Build documentation can then be found
      <a target="_blank" href="file:///usr/local/src/db-4.7.25/docs/ref/build_unix/intro.html">locally</a>
      as well as
      <a target="_blank" href="http://www.oracle.com/technology/documentation/berkeley-db/db/programmer_reference/build_unix.html">
        online</a>.</li>
    <li><tt>$ cd db-4.7.25/build_unix</tt></li>
    <li><tt>$ CCFLAGS="-arch x86_64" LDFLAGS="-arch x86_64" ../dist/configure</tt>
    (Thanks to Mathew Emerson for the magic flags).</li>
    <li><tt>$ sudo make install</tt></li>
    <!--- why don't we update config.sexp? -->
    <li>Finally, don't forget to create the elephant configuration
      file <tt>my-config.sexp</tt> so that it refers to "4.7" and points to the
      appropriate paths.</li>
  </ul>
</p>