FWIW, I tried to build Elephant (current CVS) with LWW 5.0.1.  I
understand that Windows is currently not supported, but maybe you're
interested anyway.  Here's a summary:

I have Cygwin installed.  I had to make a few changes to make the
build succeed for which a patch is attached.  This includes a proposal
to change "Programme" to "Program Files" in the example configuration
as probably most users will have an English and not a German version
of Windows.

The tests with SQLite3 succeed only on every second attempt (with one
failure - see below).  On every other attempt (including the first
one) I got this:

  Error: While accessing database #<CLSQL-SQLITE3:SQLITE3-DATABASE 
c:\home\lisp\elephant\tests\sqlite3-test.db OPEN 21D862D3>
    with expression "SELECT name FROM sqlite_master WHERE type='table' UNION 
ALL SELECT name FROM sqlite_temp_master WHERE type='table' ORDER BY name":
    Error 17 / database schema has changed
    has occurred.

When I try the PostgreSQL tests, I immediately get this error:

  ELE-TESTS 3 > (do-backend-tests '(:clsql (:postgresql nil "elephant" nil 
nil)))

  Error: Argument NIL is not of type PATHNAME, STRING, or FILE-STREAM.
    1 (abort) Return to level 0.
    2 Return to top loop level 0.

A full backtrace is attached below.

I didn't try the BerkeleyDB tests.  I do have Visual Studio, but I
rarely use it and I couldn't figure out from Bill Clementson's
instructions how to build the DLL.

HTH,
Edi.


1. SQLite3 test results
-----------------------

ELE-TESTS 6 > (do-backend-tests *testsqlite3-spec*)
Doing 122 pending tests of 122 tests total.
 FIXNUMS FIXNUM-TYPE-1 READ-32-BIT-FIXNUM READ-64-BIT-FIXNUM 
WRITE-32-BIT-FIXNUM WRITE-64-BIT-FIXNUM
 BIGNUMS FLOATS RATIONALS BASE-STRINGS STRINGS HARD-STRINGS SYMBOLS CHARS 
PATHNAMES CONSES HASH-TABLES-1
 HASH-TABLES-2 ARRAYS-1 ARRAYS-2 TEST-DEEP-EQUALP OBJECTS STRUCTS 
STRUCT-NON-STD-CONSTRUCT CIRCULAR
 PERSISTENT NON-TRANSIENT-CLASS-SLOT-1 NON-TRANSIENT-CLASS-SLOT-2 
TRANSIENT-CLASS-SLOT CLASS-DEFINERS
 BAD-INHERITENCE MIXES MIXES-RIGHT-SLOTS INHERIT INHERIT-RIGHT-SLOTS 
INITFORM-CLASSES INITFORM-TEST
 INITARG-TEST NO-EVAL-INITFORM REDEFCLASS MAKUNBOUND UPDATE-CLASS CHANGE-CLASS 
CHANGE-CLASS3
 BASICPERSISTENCE TESTOID BTREE-MAKE BTREE-PUT BTREE-GET REMOVE-KV REMOVED 
MAP-BTREE INDEXED-BTREE-MAKE
 ADD-INDICES TEST-INDICES INDEXED-PUT INDEXED-GET SIMPLE-SLOT-GET 
INDEXED-GET-FROM-SLOT1
 INDEXED-GET-FROM-SLOT2 REMOVE-KV-INDEXED NO-KEY-NOR-INDICES 
REMOVE-KV-FROM-SLOT1 NO-KEY-NOR-INDICES-SLOT1
 REMOVE-KV-FROM-SLOT2 NO-KEY-NOR-INDICES-SLOT2 MAP-INDEXED GET-FIRST GET-FIRST2 
GET-LAST GET-LAST2 SET
 SET2 SET-RANGE SET-RANGE2
Test MAP-INDEXED-INDEX failed
Form: (LET ((SUM 0)) (FLET ((COLLECTOR (KEY VALUE PKEY) (INCF SUM (SLOT1 
VALUE)))) (MAP-INDEX (FUNCTION COLLECTOR) INDEX1 :START NIL :END 10) (MAP-INDEX 
(FUNCTION COLLECTOR) INDEX1 :START 990 :END NIL) (MAP-INDEX (FUNCTION 
COLLECTOR) INDEX1 :START 400 :END 410)) SUM)
Expected value: 15449
Actual value: #<SIMPLE-ERROR 2009CA0F>.
 REM-KV REM-IDEXKV MAKE-INDEXED2 ADD-INDICES2 PUT-INDEXED2 GET-INDEXED2 
GET-FROM-INDEX3 DUP-TEST
 NODUP-TEST PREV-NODUP-TEST PNODUP-TEST PPREV-NODUP-TEST CUR-DEL1 
INDEXED-DELETE TEST-DELETED
 INDEXED-DELETE2 TEST-DELETED2 CUR-DEL2 GET-BOTH PGET-BOTH PGET-BOTH-RANGE 
PCURSOR NEWINDEX PCURSOR2
 ADD-GET-REMOVE ADD-GET-REMOVE-SYMBOL EXISTSP
Warning: Manually finalizing class IDX-ONE DISABLE-CLASS-INDEXING-TEST 
INDEXING-BASIC-TRIVIAL
 INDEXING-BASIC INDEXING-CLASS-OPT INDEXING-INHERIT INDEXING-RANGE 
INDEXING-SLOT-MAKUNBOUND
Warning: Manually finalizing class IDX-FIVE-DEL INDEXING-WIPE-INDEX 
INDEXING-RECONNECT-DB
 INDEXING-CHANGE-CLASS INDEXING-REDEF-CLASS
Warning: Manually finalizing class STRESS-INDEX
Ranged get of 10/700 objects = Linear: 8.052 sec Indexed: 0.921 sec
 INDEXING-TIMING
Single store mode: ignoring REMOVE-ELEMENT
Single store mode: ignoring MIGRATE-BASIC
Single store mode: ignoring MIGRATE-BTREE
Single store mode: ignoring MIGRATE-IDX-BTREE
Single store mode: ignoring MIGRATE-PCLASS
Single store mode: ignoring MIGRATE-MULT-PCLASS
Single store mode: ignoring  MIGRATE-IPCLASS
1 out of 122 total tests failed: MAP-INDEXED-INDEX.
NIL


2. Backtrace from PostgreSQL test
---------------------------------

Backtrace:
#<The ELEPHANT-TESTS package, 451/1024 internal, 0/16 external>
#<MP:PROCESS Name "CAPI Execution Listener 1" Priority 70000000 State "Running">

Condition: Argument NIL is not of type PATHNAME, STRING, or FILE-STREAM.
Call to SYSTEM::IN-TRUENAME (offset 465)
  SYSTEM::P : NIL

Call to PROBE-FILE (offset 28)
  SYSTEM::FILE : NIL

Call to (METHOD ELEPHANT::OPEN-CONTROLLER (DB-CLSQL::SQL-STORE-CONTROLLER)) 
(offset 554)
  DB-CLSQL::SC            : #<DB-CLSQL::SQL-STORE-CONTROLLER 200E0963>
  DBG::G                  : :DONT-KNOW
  DB-CLSQL::RECOVER       : :DONT-KNOW
  DB-CLSQL::RECOVER-FATAL : :DONT-KNOW
  DB-CLSQL::THREAD        : :DONT-KNOW
  CLOS::.ISL.             : #(#(#(1597 (ELEPHANT::SPEC ELEPHANT::ROOT 
ELEPHANT::CLASS-ROOT ELEPHANT::INSTANCE-CACHE ELEPHANT::INSTANCE-CACHE-LOCK 
ELEPHANT::SERIALIZER-VERSION SERIALIZE DESERIALIZE DB-CLSQL::DBCONS 
DB-CLSQL::USES-PK) NIL #<STANDARD-CLASS DB-CLSQL::SQL-STORE-CONTROLLER 
21FE3AFB>) #(2 1 8) NIL NIL) #(ELEPHANT::CLASS-ROOT ELEPHANT::ROOT 
DB-CLSQL::DBCONS) 2 0)
  CLOS::.PV.              : #(2 1 8)
  DB-CLSQL::DBTYPE        : :POSTGRESQL
  DB-CLSQL::PATH          : NIL

Call to CLOS::GENERIC-FUNCTION-DISCRIMINATOR (offset 263)

Call to OPEN-STORE (offset 58)
  ELEPHANT::SPEC       : (:CLSQL (:POSTGRESQL NIL "elephant" NIL NIL))
  ELEPHANT::ARGS       : NIL
  ELEPHANT::CONTROLLER : #<DB-CLSQL::SQL-STORE-CONTROLLER 200E0963>

Binding frame:
  *STORE-CONTROLLER* : NIL

Call to DO-BACKEND-TESTS (offset 106)
  SPEC               : (:CLSQL (:POSTGRESQL NIL "elephant" NIL NIL))
  *STORE-CONTROLLER* : NIL

Call to SYSTEM::%INVOKE (offset 400)

Call to SYSTEM::%EVAL (offset 217)
  EXP : (DO-BACKEND-TESTS (QUOTE (:CLSQL (:POSTGRESQL NIL "elephant" NIL NIL))))


SYSTEM::%EVAL <- EVAL <- SYSTEM::DO-EVALUATION
<- SYSTEM::%TOP-LEVEL-INTERNAL <- SYSTEM::%TOP-LEVEL
<- SYSTEM::LISTENER-TOP-LEVEL <- CAPI::CAPI-TOP-LEVEL-FUNCTION
<- CAPI::INTERACTIVE-PANE-TOP-LOOP
<- (HARLEQUIN-COMMON-LISP:SUBFUNCTION MP::PROCESS-SG-FUNCTION 
MP::INITIALIZE-PROCESS-STACK)
<- SYSTEM::%%FIRST-CALL-TO-STACK

Index: config.sexp
===================================================================
RCS file: /project/elephant/cvsroot/elephant/config.sexp,v
retrieving revision 1.8
diff -u -r1.8 config.sexp
--- config.sexp	19 Mar 2007 20:35:30 -0000	1.8
+++ config.sexp	23 Mar 2007 09:12:01 -0000
@@ -15,7 +15,7 @@
  (:clsql-lib . nil)
  (:compiler . :gcc))
 
-#+(and lispworks (not windows))
+#+(and lispworks (not mswindows))
 ((:berkeley-db-include-dir . "/opt/local/include/db45/")
  (:berkeley-db-lib-dir . "/opt/local/lib/db45/")
  (:berkeley-db-lib . "/opt/local/lib/db45/libdb-4.5.dylib")
@@ -25,10 +25,10 @@
  (:compiler . :gcc))
 
 #+(or mswindows windows)
-((:berkeley-db-include-dir . "C:/Programme/Oracle/Berkeley DB 4.5.20/include/")
- (:berkeley-db-lib-dir . "C:/Programme/Oracle/Berkeley DB 4.5.20/bin/")
- (:berkeley-db-lib . "C:/Programme/Oracle/Berkeley DB 4.5.20/bin/libdb45.dll")
- (:berkeley-db-deadlock . "C:/Programme/Oracle/Berkeley DB 4.5.20/bin/db_deadlock.exe")
+((:berkeley-db-include-dir . "C:/Program Files/Oracle/Berkeley DB 4.5.20/include/")
+ (:berkeley-db-lib-dir . "C:/Program Files/Oracle/Berkeley DB 4.5.20/bin/")
+ (:berkeley-db-lib . "C:/Program Files/Oracle/Berkeley DB 4.5.20/bin/libdb45.dll")
+ (:berkeley-db-deadlock . "C:/Program Files/Oracle/Berkeley DB 4.5.20/bin/db_deadlock.exe")
  (:pthread-lib . nil)
  (:clsql-lib . nil)
  (:compiler . :cygwin))
Index: elephant.asd
===================================================================
RCS file: /project/elephant/cvsroot/elephant/elephant.asd,v
retrieving revision 1.38
diff -u -r1.38 elephant.asd
--- elephant.asd	19 Mar 2007 20:35:30 -0000	1.38
+++ elephant.asd	23 Mar 2007 09:12:01 -0000
@@ -127,7 +127,7 @@
                              (compiler-options (c-compiler c) c
                                                :input-file
                                                (list (format nil "\"~A\"" (namestring 
-                                                                           (make-pathname :type "o" :defaults patohname)))
+                                                                           (make-pathname :type "o" :defaults pathname)))
                                                      "exports.o")
                                                :output-file (format nil "\"~A\"" (first (output-files o c)))
                                                :library t))))
Index: src/elephant/classes.lisp
===================================================================
RCS file: /project/elephant/cvsroot/elephant/src/elephant/classes.lisp,v
retrieving revision 1.23
diff -u -r1.23 classes.lisp
--- src/elephant/classes.lisp	21 Mar 2007 14:29:30 -0000	1.23
+++ src/elephant/classes.lisp	23 Mar 2007 09:12:02 -0000
@@ -47,6 +47,10 @@
 ;; METACLASS INITIALIZATION AND CHANGES
 ;; ================================================
 
+#+:lispworks
+(eval-when (:compile-toplevel :load-toplevel :execute)
+  (setq lw:*handle-warn-on-redefinition* :quiet))
+
 (defmethod ensure-class-using-class :around ((class null) name &rest args &key index)
   "Support the :index class option"
   (let ((result (apply #'call-next-method class name (remove-keywords '(:index) args))))
@@ -54,6 +58,10 @@
       (update-indexed-record result nil :class-indexed t))
     result))
 
+#+:lispworks
+(eval-when (:compile-toplevel :load-toplevel :execute)
+  (setq lw:*handle-warn-on-redefinition* :error))
+
 (defmethod ensure-class-using-class ((class persistent-metaclass) name &rest args &key index)
   "Support the :index class option on redefinition"
   (let ((result (apply #'call-next-method class name (remove-keywords '(:index) args))))
_______________________________________________
elephant-devel site list
elephant-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/elephant-devel

Reply via email to