[MacPorts] #35914: subversion-perlbindings-5.12 configure fails to find Berkeley DB
MacPorts
noreply at macports.org
Fri Aug 31 19:04:34 PDT 2012
#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
More information about the macports-tickets
mailing list