[racket] jaymccarthy/dbm unusable where there is only gdbm
Sadly gdbm does not seem to provide a libdbm.so library itself, instead
instructing every program using it to link with both libgdbm and
libgdbm_compat for similar behavior. It also specifies that, since every
program will be written in the C language using CPP as a preprocessor,
to use CPP macros to inline out a few of the functions it deems unworthy
of implementing, such as dbm_error.
Easy fix though! Doing that as a fallback when dbm isn't found is pretty
trivial, and also providing catchall alternatives for *cough*
unimplemented functions. So in jaymccarthy's dbm package I just changed
dbm-ffi.ss a little bit so that it now uses gdbm, at least, without
directly erroring out. I would like that this be combined with the dbm
package officially, since the only way for me to retain such modified
behavior is to word-for-word copy that package into some custom, badly
named package under my nom de plume. Well, I would like a fast small
pure scheme DBM implementation, but can't always have what we want.
I might also add that gdbm is the only option on Debian based systems,
besides some weird stuff called Tokyo Cabinet under questionable
licensing. dbm is not anywhere in the package list that I can see. Maybe
this is the wrong approach entirely...
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: dbm-ffi.gdbm.rkt
URL: <http://lists.racket-lang.org/users/archive/attachments/20100915/b70eb7ef/attachment.ksh>