[elephant-cvs] CVS update: elephant/INSTALL
blee at common-lisp.net
blee at common-lisp.net
Sun Aug 29 20:31:27 UTC 2004
Update of /project/elephant/cvsroot/elephant
In directory common-lisp.net:/tmp/cvs-serv7408
Modified Files:
INSTALL
Log Message:
updates
Date: Sun Aug 29 22:31:27 2004
Author: blee
Index: elephant/INSTALL
diff -u elephant/INSTALL:1.3 elephant/INSTALL:1.4
--- elephant/INSTALL:1.3 Sun Aug 29 09:52:34 2004
+++ elephant/INSTALL Sun Aug 29 22:31:26 2004
@@ -3,9 +3,9 @@
Requirements
------------
-CMUCL 19a, Allegro CL 6.2 or OpenMCL 0.14.2. Recent
-versions of SBCL and Lispworks should be supported / easy to
-make work.
+CMUCL 19a, SBCL 0.8.13, or Allegro CL 6.2. I've tested
+under FreeBSD and Linux. OpenMCL and Lispworks versions
+will come soon.
ASDF - http://www.cliki.net/asdf
@@ -14,7 +14,7 @@
I've patched src/functions.lisp to support some kinds of
:out arguments. it is backwards-compatible so shouldn't
interfere with your existing work. I've contacted Kevin
-Rosenberg about this.
+Rosenberg about this, it will appear in a future release.
Sleepycat Berkeley DB 4.2 - http://www.sleepycat.com
@@ -25,7 +25,13 @@
Instructions
------------
-1) Install your lisp, asdf, and UFFI. Replace
+I assume you have a supported lisp with asdf.
+
+0) Unpack Elephant. I put mine in the directory
+
+/usr/local/share/common-lisp/elephant/
+
+1) Install UFFI 1.4.24. Replace
path-to-uffi/src/functions.lisp
@@ -34,25 +40,25 @@
2) Install Berkeley DB 4.2. FreeBSD has a port for this, as
I'm sure other BSDs (including Darwin.) Take note of where
libdb.so and db.h are installed (usually
+/usr/local/BerekleyDB.4.2/lib/libdb.so and
+/usr/local/BerekleyDB.4.2/include/db.h, or
/usr/local/lib/db42/libdb.so and
/usr/local/include/db42/db.h.)
-3) Compile src/libsleepycat.c. I'm no gcc master but under
-FreeBSD this worked for me:
+3) Edit Makefile and run (using GNU make, gmake on BSD)
-gcc -L/usr/local/lib/db42 -I/usr/local/include/db42 -fPIC -shared -O3 -o libsleepycat.so src/libsleepycat.c -ldb
+make install
-you may or may not need a trailing -ldb at the end. Put
-libsleepycat.so somewhere you can get at it, like in your
-common-lisp elephant system dir
+This compiles src/libsleepycat.c and installs it into
/usr/local/share/common-lisp/elephant/
-4) Compile and load Elephant.
+or where you specified.
-First, edit src/sleepycat.lisp so that +path-to-sleepycat+
-and +path-to-libsleepycat+ are correct. (If I were better
-at ASDF there'd be a better way of doing this....)
+4) Compile and load Elephant:
+
+First, edit src/sleepycat.lisp so that it points to the
+correct libraries.
Symlink elephant.asd to your asdf systems directory (mine is
/usr/local/share/common-lisp/systems). Fire up lisp and
@@ -61,22 +67,20 @@
(asdf:operate 'asdf:load-op :elephant)
This will load and compile Elephant. This will also
-automatically load UFFI. You will get some errors about
-redefining constants probably. Go ahead and redefine them,
-they are safe to bash, and won't happen again once you've
-compiled.
-
-At this point I advise quitting lisp before using Elephant.
-I get symbol conflicts otherwise. (Help?) I also (under
-CMUCL) get strange behavior which indicates you might get
-better performance if you compile everything again with
-everything loaded.
+automatically load UFFI. You may get "constant redefinition
+errors", especially on SBCL. They are not issues, go ahead
+and redefine the constants.
+
+Under CMUCL I sporadically get strange behavior which
+indicates you might get better performance if you compile
+everything again with everything loaded.
-----------
Quick Start
-----------
-A REPL session is worth a thousand words, so ...
+For more complete documentation see TUTORIAL and NOTES. But
+a REPL session is worth a thousand words, so ...
-bash-2.05b$ pwd
/home/ben
@@ -104,17 +108,14 @@
CL-USER> (open-store "/home/ben/testdb")
#<STORE-CONTROLLER {489C1EDD}>
-CL-USER> (setq *auto-commit* T)
-T
-
-CL-USER> (add-to-root *store-controller* "my key" "my string")
+CL-USER> (add-to-root "my key" "my string")
NIL
-CL-USER> (get-from-root *store-controller* "my key")
+CL-USER> (get-from-root "my key")
"my string"
T
-CL-USER> (get-from-root *store-controller* "my key2")
+CL-USER> (get-from-root "my key2")
NIL
NIL
@@ -144,7 +145,7 @@
CL-USER> (open-store "/home/ben/testdb")
-CL-USER> (get-from-root *store-controller* "my key")
+CL-USER> (get-from-root "my key")
"my string"
T
More information about the Elephant-cvs
mailing list