#35914: subversion-perlbindings-5.12 configure fails to find Berkeley DB -------------------------------------+-------------------------------------- Reporter: mina.macports@… | Owner: dluke@… Type: defect | Status: assigned Priority: Normal | Milestone: Component: ports | Version: 2.1.2 Keywords: | Port: subversion-perlbindings -------------------------------------+-------------------------------------- Comment(by mina.macports@…): Replying to [comment:4 dluke@…]:
ok, inside the build directory there should be a config.log which should shed some light on why the test for BDB is failing.
Here's the relevant portion: {{{ configure:17904: checking for availability of Berkeley DB configure:17976: gcc -o conftest -g -O2 -I/opt/local/include/db46 -I/opt/local/include/apr-1 -I/opt/local/include -DDARWIN -DSIGPROCMASK_SETS_THREAD_MA SK -no-cpp-precomp -L/opt/local/lib -L/opt/local/lib/db46 conftest.c -L/opt/local/lib -ldb-4.6 >&5 conftest.c: In function 'main': conftest.c:42: error: 'DB_VERSION_MAJOR' undeclared (first use in this function) conftest.c:42: error: (Each undeclared identifier is reported only once conftest.c:42: error: for each function it appears in.) conftest.c:43: error: 'DB_VERSION_MINOR' undeclared (first use in this function) conftest.c:44: error: 'DB_VERSION_PATCH' undeclared (first use in this function) configure:17976: $? = 1 configure: program exited with status 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "subversion" | #define PACKAGE_TARNAME "subversion" | #define PACKAGE_VERSION "1.7.6" | #define PACKAGE_STRING "subversion 1.7.6" | #define PACKAGE_BUGREPORT "http://subversion.apache.org/" | #define PACKAGE_URL "" | #define SVN_NEON_0_26 1 | #define SVN_NEON_0_27 1 | #define SVN_NEON_0_28 1 | #define SVN_HAVE_NEON 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_SERF_H 1 | #define SVN_HAVE_SERF 1 | #define SVN_HAVE_MEMCACHE 1 | #define SVN_BINDIR "/opt/local/bin" | #define SVN_LOCALE_DIR "/opt/local/share/locale" | #define HAVE_DLFCN_H 1 | #define LT_OBJDIR ".libs/" | /* end confdefs.h. */ | | #include <stdlib.h> | #define APU_WANT_DB | #include <apu_want.h> | | int main () | { | int major, minor, patch; | | db_version (&major, &minor, &patch); | | /* Sanity check: ensure that db.h constants actually match the db library */ | if (major != DB_VERSION_MAJOR | || minor != DB_VERSION_MINOR | || patch != DB_VERSION_PATCH) | exit (1); | | /* Run-time check: ensure the library claims to be the correct version. */ | | if (major < 4) | exit (1); | if (major > 4) | exit (0); | | if (minor < 0) | exit (1); | if (minor > 0) | exit (0); | | if (patch >= 14) | exit (0); | else | exit (1); | } | configure:17995: result: no configure:17999: error: Berkeley DB 4.0.14 or newer wasn't found. }}} Hmm. Notably absent is an {{{ #include <db.h> }}} I'd expect to see there. Perhaps the test intentionally shouldn't load it (the {{{ #define APU_WANT_DB }}} {{{ #include <apu_want.h> }}} suspiciously looks like it might be a replacement), but its simply not happening - as db.h needs to make it there for these defines its failing on to exist. On a whim, I took another look at the failing command: {{{ cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports .org_release_ports_devel_subversion-perlbindings/subversion- perlbindings-5.12/work/subversion-1.7.6" && ./configure --prefix=/opt/local --with-berkeley- db=:/opt/local/include/db46:/opt/local/lib/db46:db-4.6 --with- neon=/opt/local --with-apr=/opt/local/bin/apr-1-config --with-apr- util=/opt/local/bin/apu-1-config --without-apxs --mandir=\${prefix}/share/man --disable-neon-version-check --with- serf=/opt/local --with-sasl=/opt/local }}} Tweaked it slightly (specifically --with-berkeley-db=db.h:THEREST...), and it appears to have worked: {{{ cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports .org_release_ports_devel_subversion-perlbindings/subversion- perlbindings-5.12/work/subversion-1.7.6" && ./configure --prefix=/opt/local --with-berkeley- db=db.h:/opt/local/include/db46:/opt/local/lib/db46:db-4.6 --with- neon=/opt/local --with-apr=/opt/local/bin/apr-1-config --with-apr- util=/opt/local/bin/apu-1-config --without-apxs --mandir=\${prefix}/share/man --disable-neon-version-check --with- serf=/opt/local --with-sasl=/opt/local ... ... checking for socket in -lsocket... no checking for availability of Berkeley DB... yes checking whether to look for SASL... yes ... ... }}} I'm not sure however why its not there in the first place, or how this can actually be fixed in the port/configure script to invoke it this way... -- Ticket URL: <https://trac.macports.org/ticket/35914#comment:5> MacPorts <http://www.macports.org/> Ports system for Mac OS