| Summary: | cl-elephant ebuild problem | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | ejohnson <human> |
| Component: | New packages | Assignee: | Gentoo Lisp Project <lisp> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | ||
| Priority: | High | ||
| Version: | unspecified | ||
| Hardware: | x86 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
| Attachments: |
A patch made from the original elephant-2.1.tar.gz Makefile
A path made from the original elephant-2.1.tar.gz sleepcat.lisp |
||
|
Description
ejohnson
2004-10-19 04:13:31 UTC
Created attachment 42156 [details, diff]
A patch made from the original elephant-2.1.tar.gz Makefile
The change here is to alter BD42DIR=/usr/local/BerkeleyDB.4.2 to BD42DIR=/usr
Created attachment 42157 [details, diff]
A path made from the original elephant-2.1.tar.gz sleepcat.lisp
The gentoo patch removes quite a bit of this info because I'm guessing that
these files are in $PATH, so this patch is really bullshit, but works.
common-lisp herd maintainers please consider creating a bugzilla user for your common-lisp@g.o address Thanks for providing such a detailed report. I looked over the
Makefile and made some changes. I set BD42DIR=/usr and replaced -ldb
with the more explicit -ldb-4.2. These changes alone seem to fix the
problem.
$ sbcl --noinform
CL-USER(1): (require :elephant)
; loading system definition from #P"/usr/share/common-lisp/systems/uffi.asd"
; into #<PACKAGE "ASDF3958">
; registering #<SYSTEM UFFI {904B059}> as UFFI
NIL
CL-USER(2): (ele:open-store "elephant")
#<ELEPHANT:STORE-CONTROLLER {96B2259}>
CL-USER(3): (ele:add-to-root "key" "value")
"value"
CL-USER(4): (ele:get-from-root "key")
"value"
T
CL-USER(5): (ele:controller-root ele:*store-controller*)
#<ELEPHANT:BTREE {974AD29}>
CL-USER(6): (ele:close-store)
NIL
CL-USER(7): (quit)
I looked at the load foreign library changes and I have to confess, I
don't see why libdb-4.2, libpthread etc. need to be loaded explicitly
since everything necessary is already linked with libsleepycat.so from
the Makefile.
$ ldd /usr/lib/elephant/libsleepycat.so
linux-gate.so.1 => (0xffffe000)
libdb-4.2.so => /usr/lib/libdb-4.2.so (0x40020000)
libm.so.6 => /lib/libm.so.6 (0x4010b000)
libc.so.6 => /lib/libc.so.6 (0x4012e000)
libpthread.so.0 => /lib/libpthread.so.0 (0x40260000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
So I think I will leave the sleepycat.lisp changes out for now. I
will resolve this bug as fixed, but please re-open if problems
persist.
|