[clbuild-devel] Re: Package suggestion: elephant

David Lichteblau david at lichteblau.com
Thu Feb 14 13:40:30 UTC 2008


Quoting Victor Kryukov (victor.kryukov at gmail.com):
> Why do we need to support a default configuration?

It's okay that elephant needs configuration in order to be used.  But
it's unsatisfactory that it needs configuration in order to be compiled.
As a clbuild maintainer, I want to have a single command that tests
whether the projects I just downloaded can be compiled.

> BerkeleyDB is
> probably the most frequenly used backend, and definetely the best in
> terms of performance / ease of use, but if a lisp library needs some

Thanks, that's interesting to know.

> system libraries outside of the Lisp world, that should be user's task
> to install them E.g. now when you install CLSQL via clbuild it doesn't
> install MySQL or PostgreSQL automatically - that task is left for the
> user.

CLSQL isn't entirely unproblematic in that regard either.

We currently build only the clsql-backends than are written in pure
lisp, because we would like to support CLSQL as a main project, and that
means that it will be compiled by default.  We wouldn't want to require
installations MySQL and PostgreSQL just for "clbuild dumpcore
--main-projects".  (Not to mention oracle...)

> Of course we could try to find the right path to libdb4.5.so etc., but
> what if a user doesn't have it installed yet?
> 
> I'd suggest to leave the task of modifying my-config.sexp to the user.

I suppose we can do that.  (But then elephant will never be a main
project, only a wnpp-project.)

Worse, it would be a wnpp-project that I and other clbuild maintainers
can't test without doing extra elephant-specific configuration work for
each clbuild checkout.

(In an ideal world, I think I would expect elephant to load .so files
only on demand, not during compilation.  Having written FFI-using code
myself, I realize that cffi doesn't make that easy.  Being able to load
.so files after compilation depends on implementation-specific features,
in SBCL's case on the linkage-table.  Unfortunately, cffi doesn't
provide a portable feature to test for this kind of capability.)

> PS. I have some problems using Elephant with the rest of the clbuild
> world. I.e. if I install Elephant via asdf-install with all the
> dependencies into ~/.sbcl using default system SBCL (1.0.6 on my
> Ubuntu), it works just fine. But when I put the latest darcs version
> in ~/src/clbuild/source and try to open a BDB store, I get some weird
> SB-SYS:MEMORY-FAULT-ERROR. Do you experience something like that? I'll
> play with it a little more today and will tell you if I am able to
> resolve that.

I haven't tried that yet.


Thanks,
d.



More information about the clbuild-devel mailing list