Menu

#496 Compatibility with bdb4.7

build problems
closed-fixed
clisp (524)
5
2008-10-24
2008-09-18
No

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

Discussion

  • Cesare Tirabassi

    Patch of bdb.c (as of r1.119)

     
  • Sam Steingold

    Sam Steingold - 2008-09-18

    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.

     
  • Cesare Tirabassi

    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.

     
  • Sam Steingold

    Sam Steingold - 2008-10-24

    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).

     
  • Sam Steingold

    Sam Steingold - 2008-10-24
    • status: open --> closed-fixed
     

Log in to post a comment.