Update of /project/elephant/cvsroot/elephant In directory common-lisp.net:/tmp/cvs-serv32717
Modified Files: Tag: SQL-BACK-END CREDITS INSTALL Makefile NEWS Added Files: Tag: SQL-BACK-END ele-sqlite3.asd Log Message: Dan Knapp's patch applied, and other changes in preparation for 0.3 release.
Date: Wed Nov 23 04:42:12 2005 Author: rread
Index: elephant/CREDITS diff -u elephant/CREDITS:1.4.2.2 elephant/CREDITS:1.4.2.3 --- elephant/CREDITS:1.4.2.2 Wed Oct 19 17:24:50 2005 +++ elephant/CREDITS Wed Nov 23 04:42:11 2005 @@ -45,3 +45,6 @@ many idiotic questions
Just a test addition on the SQL-BACK-END branch. + +Dan Knapp fixed the fact that nil's were indistinguishable from +unbound slots, and proved the system works with SQLite3.
Index: elephant/INSTALL diff -u elephant/INSTALL:1.11 elephant/INSTALL:1.11.2.1 --- elephant/INSTALL:1.11 Fri Oct 8 04:32:36 2004 +++ elephant/INSTALL Wed Nov 23 04:42:11 2005 @@ -3,8 +3,9 @@ Requirements ------------
-CMUCL 19a, SBCL 0.8.14, OpemMCL 0.14.2, or Allegro CL 6.2. -I've tested under x86 FreeBSD, Linux and PPC Darwin. I +CMUCL 19a, SBCL 0.9.5, OpemMCL 0.14.2, or Allegro CL 6.2. +This version ahs been tested under Linux and SBCL 0.9.5, but +Dan Knapp has also run something very closed under Darwin. can't personally test Win32 but I've compiled under Visual Studio .NET and a user has gotten it to work with Visual Studio 6. A Lispworks version will come if requested. @@ -12,6 +13,7 @@ ASDF - http://www.cliki.net/asdf
UFFI 1.4.24+ - http://uffi.b9.com +(I have been testing with UFFI 1.5.4 and I recommend you use that.)
I've patched src/functions.lisp to support some kinds of :out arguments. it is backwards-compatible so shouldn't @@ -19,11 +21,7 @@ 1.4.25+, but just in case you have 1.4.24 I have included it.
-Sleepycat Berkeley DB 4.2 - http://www.sleepycat.com - -The version number is important -- the headers have changed -siginificantly. When 4.3 comes out, I'll have to reroll my -constants..... +Sleepycat Berkeley DB 4.3 - http://www.sleepycat.com
A C compiler, probably gcc or Visual Studio. Presumably you have this if you installed Sleepycat. @@ -36,7 +34,7 @@
0) Unpack Elephant. I put mine in the directory
-/usr/local/share/common-lisp/elephant-0.1/ +/usr/local/share/common-lisp/elephant-0.3/
1) Install UFFI. If you're using 1.4.24 replace
@@ -44,18 +42,24 @@
with the provided file.
-2) Install Berkeley DB 4.2. Under Un*x, you may actually +2) Install a backend: Either Berkeley DB 4.3, PostGresql, or SQLite 3. + +For relational database systems, refering the formal documentation +other the heading "SQL-BACK-END". + +For Berkeley 4.3: +Under Un*x, you may actually already have this installed, though it may be compiled with funny options, so if things don't work you may want to try to start from scratch. FreeBSD has a port for this, as I'm sure do other BSDs (including Darwin/Fink.) 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/BerekleyDB.4.3/lib/libdb.so and +/usr/local/BerekleyDB.4.3/include/db.h, or /usr/local/lib/db42/libdb.so and /usr/local/include/db42/db.h.)
-3) Compile and install the libsleepycat shared library. +Compile and install the libsleepycat shared library.
Under Un*x, edit Makefile and run (using GNU make, gmake on BSD) @@ -64,15 +68,26 @@
This compiles src/libsleepycat.c and installs it into
-/usr/local/share/common-lisp/elephant-0.2/ +/usr/local/share/common-lisp/elephant-0.3/ + +You probably have to make sure this directory exists before running +make install. + +If you need to change this path, you will change it in the Makefile +and also in controller.lisp on the line: + +(defvar *elephant-lib-path* "/usr/local/share/common-lisp/elephant-0.3/")
or where you specified. On Darwin / OS X you need to have -the developer tools installed. +the developer tools installed. In the Makefile and other places +there are commented-out lines showing settings that some users have used for +OS X; if you are using that I assume you will have to comment out the +appropriate lines and uncomment those examples.
For Win32 (directions courtesy of Bill Clementson):
Create an MSVC dll project and add src/libsleepycat.c, -src/libsleepycat.def and the Berkeley DB libdb42.lib files +src/libsleepycat.def and the Berkeley DB libdb43.lib files to the project (should be in the build_win32/release folder)
Add the Berkeley DB dbinc include files directory and the @@ -82,11 +97,11 @@
Build the Elephant DLL file
-Since you've statically included libdb42.lib inside +Since you've statically included libdb43.lib inside libsleepycat.c, it may or may not be necessary to load -libdb42.dll into Lisp (see below.) +libdb43.dll into Lisp (see below.)
-4) Compile and load Elephant: +3) Compile and load Elephant:
First, edit src/sleepycat.lisp so that it points to the correct libraries. If you're using Un*x and ASDF, this is @@ -110,6 +125,9 @@ ----------- Quick Start ----------- +(These instructions were correct for Elephant 0.2. They +are now somewhat obsolete in Elephant 0.3; better information +can be found in the formal documentation.)
For more complete documentation see TUTORIAL and NOTES. But a REPL session is worth a thousand words, so ...
Index: elephant/Makefile diff -u elephant/Makefile:1.6.2.1 elephant/Makefile:1.6.2.2 --- elephant/Makefile:1.6.2.1 Tue Oct 18 22:41:24 2005 +++ elephant/Makefile Wed Nov 23 04:42:11 2005 @@ -8,9 +8,15 @@ UNAME:=$(shell uname -s)
# DB43DIR=/db/ben/lisp/db43 +# Dan Knapp contributed this line, which came form OS X? +#DB43DIR=/sw +# But I will assume that Linux is more common? DB43DIR=/usr/local/BerkeleyDB.4.3/ + DBLIBDIR=$(DB43DIR)/lib/ DBINCDIR=$(DB43DIR)/include/ +# Dan Knapp contributed this line; for fink/OS X? +#DBINCDIR=$(DB43DIR)/include/db4/
# *BSD users will probably want #DBLIBDIR=/usr/local/lib/db43
Index: elephant/NEWS diff -u elephant/NEWS:1.6 elephant/NEWS:1.6.2.1 --- elephant/NEWS:1.6 Fri Oct 8 02:53:04 2004 +++ elephant/NEWS Wed Nov 23 04:42:11 2005 @@ -1,3 +1,8 @@ +November 30, 2005 - Elephant 0.3.0 released by +the new maintainer, Robert L. Read, providing +support for relational database backends, repository +migration, and multi-repository operation. + October 7, 2004 -
Elephant 0.2.1 released. Thanks to Bill Clementson,