[elephant-devel] Time for the 4.6 patch.....

lists at infoway.net lists at infoway.net
Tue Feb 26 19:27:44 UTC 2008


I just downloaded the latest Elephant and the latest BDB (4.6.21) on  
OS X Leopard with SBCL 1.0.14 with threads

Got a compilation issue when ASDF loading Elephant:

...

; file: /Users/waldo/dev/lisp/elephant/src/elephant/classes.lisp
; in: DEFUN MAKE-PERSISTENT-SLOT-BOUNDP
;     (LAMBDA (ELEPHANT::INSTANCE)
;     (DECLARE (TYPE ELEPHANT:PERSISTENT-OBJECT ELEPHANT::INSTANCE))
;     (ELEPHANT::PERSISTENT-SLOT-BOUNDP (ELEPHANT::GET-CON  
ELEPHANT::INSTANCE)
;      ELEPHANT::INSTANCE ELEPHANT::NAME))
; --> FUNCTION LOCALLY SB-C::%FUNCALL MULTIPLE-VALUE-BIND LET UNLESS  
COND
; --> IF NOT IF
; ==>
;   (TYPEP #:G861 'ELEPHANT:PERSISTENT-OBJECT)
;
; note: can't open-code test of unknown type PERSISTENT-OBJECT

; compiling (DEFMETHOD INITIALIZE-INTERNAL-SLOT-FUNCTIONS ...)

; /Users/waldo/dev/lisp/elephant/src/elephant/classes.fasl written
; compilation finished in 0:00:01
WARNING:
    COMPILE-FILE warned while performing #<COMPILE-OP NIL {11999799}> on
    #<CL-SOURCE-FILE "classes" {11A1A6D1}>.
STYLE-WARNING:
    Implicitly creating new generic function RECREATE-INSTANCE-USING- 
CLASS.

The slot ELEPHANT::%INDEXED-CLASS is unbound in the object  
#<ELEPHANT:PERSISTENT-METACLASS ELEPHANT:PERSISTENT-OBJECT>.
    [Condition of type UNBOUND-SLOT]

Restarts:
  0: [RETRY] Retry performing #<ASDF:LOAD-OP NIL {11C023B9}> on  
#<ASDF:CL-SOURCE-FILE "classes" {11A1A6D1}>.
  1: [ACCEPT] Continue, treating #<ASDF:LOAD-OP NIL {11C023B9}> on  
#<ASDF:CL-SOURCE-FILE "classes" {11A1A6D1}> as having been successful.
  2: [ABORT] Return to SLIME's top level.
  3: [TERMINATE-THREAD] Terminate this thread (#<THREAD "repl- 
thread" {117AE9F9}>)

Backtrace:
   0: (SB-PCL::REAL-ADD-METHOD
       #<STANDARD-GENERIC-FUNCTION ELEPHANT::RECREATE-INSTANCE (1)>
       #<STANDARD-METHOD ELEPHANT::RECREATE-INSTANCE  
(ELEPHANT:PERSISTENT-OBJECT) {11960301}>
       NIL)
   1: (SB-PCL::REAL-ADD-NAMED-METHOD
       ELEPHANT::RECREATE-INSTANCE
       NIL
       (#<ELEPHANT:PERSISTENT-METACLASS ELEPHANT:PERSISTENT-OBJECT>)
       (ELEPHANT::INSTANCE &REST ELEPHANT::ARGS &KEY ELEPHANT::FROM-OID
        (ELEPHANT::SC ELEPHANT:*STORE-CONTROLLER*)))
   2: (SB-PCL::LOAD-DEFMETHOD-INTERNAL
       STANDARD-METHOD
       ELEPHANT::RECREATE-INSTANCE
       NIL
       (#<ELEPHANT:PERSISTENT-METACLASS ELEPHANT:PERSISTENT-OBJECT>)
       (ELEPHANT::INSTANCE &REST ELEPHANT::ARGS &KEY ELEPHANT::FROM-OID
        (ELEPHANT::SC ELEPHANT:*STORE-CONTROLLER*))
       (:FUNCTION #<SB-PCL::%METHOD-FUNCTION {1195F4ED}> SB-PCL::PLIST
        (:ARG-INFO (1 . T)))
       #S(SB-C:DEFINITION-SOURCE-LOCATION ..))
   3: (SB-FASL::FOP-FUNCALL)
   4: (SB-FASL::LOAD-FASL-GROUP
       #<SB-SYS:FD-STREAM for "file /Users/waldo/dev/lisp/elephant/src/ 
elephant/classes.fasl" {119161C9}>)
   5: ((FLET SB-THREAD::WITH-RECURSIVE-LOCK-THUNK))
   6: (SB-UNIX::CALL-WITH-LOCAL-INTERRUPTS

To which I hit 0: RETRY and then it continued just fine. It then ran  
all tests (420) clean. Great job!

Thanks,
Waldo

On Feb 26, 2008, at 10:18 AM, Ian Eslick wrote:

> Hi there,
>
> I'm tired of these BDB upgrade issues!  :)
>
> I implemented a quick hack that makes the BDB version configurable  
> via a my-config.sexp option.  This patch builds on Anton's patch by  
> putting BDB version-specific constants into their own package and  
> importing them at load time in the db-bdb package based on the my- 
> config.sexp option :berkeley-db-version
>
> Current versions supported are "4.5" and "4.6".  This patch, which I  
> have committed, passes my BDB tests on "4.5" so it doesn't break  
> anything.  It needs to be tested on 4.6, but that support is is  
> based on Anton's patch and I verified that "4.6" symbols get loaded  
> properly so we should be good to go.
>
> Please let me know if there are any snafus.
>
> Ian
>
> On Feb 25, 2008, at 11:23 PM, Robert L. Read wrote:
>
>> Dear Team,
>> 	On Dec. 30th, Anton Kazennikov submitted the attached patch to make
>> Elephant work with BDB 4.6.  (THANKS!)  I twiddled my thumbs about  
>> it,
>> in part because I didn't know how many people were ready for 4.6.
>>
>> 	It now seems that the time is ripe to make the move from 4.5 to  
>> 4.6 in
>> the main repository.  Anton's patch stimulated some discussion  
>> about how
>> to allow one to configure for different versions, however, I suggest
>> that we simply move to 4.6 as the default now, unless someone  
>> volunteers
>> to make the BDB version configurable.
>>
>> 	I now have BDB working on my x86_64, and am green under BDB 4.6 with
>> this patch.
>>
>> 	Moving to 4.6 will mean that if you do an update of the latest
>> repository (which will NOT be an official release for some months, I
>> think), and you use BDB, you would have to upgrade your BDB to 4.6.
>>
>> 	If you object to this move, please reply by Thursday.
>>
>> 	Until then, if you want to use 4.6, you may want to use the attached
>> patch (a darcs patch).
>> <BDB-4.6.patch>_______________________________________________
>> elephant-devel site list
>> elephant-devel at common-lisp.net
>> http://common-lisp.net/mailman/listinfo/elephant-devel
>
> _______________________________________________
> elephant-devel site list
> elephant-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/elephant-devel




More information about the elephant-devel mailing list