Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

#496 Compatibility with bdb4.7

build problems
closed-fixed
Bruno Haible
clisp (525)
5
2008-10-24
2008-09-18
Cesare Tirabassi
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

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

     
    Attachments
  • 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.

     
  • 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