Hi,
clisp FTBFS with bdb4.7:
gcc -g -O2 -Igllib -W -Wswitch -Wcomment -Wpointer-arith -Wimplicit -Wreturn-type -Wmissing-declarations -Wno-sign-compare -O -DUNICODE -DDYNAMIC_FFI -DDYNAMIC_MODULES -I. -fPIC -I.. -c
bdb.m.c -o bdb.o
bdb.c: In function 'C_subr_bdb_dbe_set_options':
bdb.c:703: error: 'DB_DIRECT_LOG' undeclared (first use in this function)
bdb.c:703: error: (Each undeclared identifier is reported only once
bdb.c:703: error: for each function it appears in.)
bdb.c:709: error: 'DB_LOG_AUTOREMOVE' undeclared (first use in this function)
bdb.c: In function 'dbe_get_flags_list':
bdb.c:939: error: 'DB_LOG_AUTOREMOVE' undeclared (first use in this function)
bdb.c:943: error: 'DB_DIRECT_LOG' undeclared (first use in this function)
bdb.c: In function 'C_subr_bdb_dbe_get_options':
bdb.c:1104: error: 'DB_LOG_AUTOREMOVE' undeclared (first use in this function)
bdb.c:1110: error: 'DB_DIRECT_LOG' undeclared (first use in this function)
make[2]: *** [bdb.o] Error 1
make[2]: Leaving directory
`/build/buildd/clisp-2.44.1/debian/build/berkeley-db'
make[1]: *** [berkeley-db] Error 2
make[1]: Leaving directory `/build/buildd/clisp-2.44.1/debian/build'
make: *** [build-stamp] Error 2
The problem seems that the flags DB_DIRECT_LOG and DB_LOG_AUTOREMOVE are
obsoleted in bdb 4.7, see:
http://www.oracle.com/technology/documentation/berkeley-db/db/ref/upgrade.4.7/log.html
The attached patch seems to solve the problem, at least clisp builds and passes all the tests in berkeley-db/test.tst.
Hope this can help somehow.
Cesare
Patch of bdb.c (as of r1.119)
your patch breaks the previous bdb versions, so I cannot apply it as is.
as soon as bdb 4.7 is packaged for fc, I will updade clisp to support it.
Indeed, if you still want to support previous bdb versions this won't do. I guess you would have to branch depending on DB_VERSION_MAJOR and DB_VERSION_MINOR; anyhow, you know it much better than I do.
thank you for your bug report.
the bug has been fixed in the CVS tree.
you can either wait for the next release (recommended)
or check out the current CVS tree (see http://clisp.cons.org\)
and build CLISP from the sources (be advised that between
releases the CVS tree is very unstable and may not even build
on your platform).