[elephant-cvs] CVS update: elephant/INSTALL

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
participants (1)
-
blee@common-lisp.net