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@common-lisp.net
http://common-lisp.net/mailman/listinfo/elephant-devel
_______________________________________________
elephant-devel site list
elephant-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/elephant-devel
_______________________________________________
elephant-devel site list
elephant-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/elephant-devel