I've applied Mo DeJong's patch to build Berkeley DB directly in the
Subversion tree, if it is present as subdir `db' in the top-level.
You can read his original post about it here:
http://subversion.tigris.org/servlets/ReadMsg?msgId=28881&listName=dev
By the way, one of the interesting results of testing this patch is
the discovery that we can probably use Berkeley DB 3.3.11 just fine,
despite my earlier post. Yay!
Here is the test matrix. I tried a compile and test run with built-in
DB and with system DB, and with both statically linked and shared:
+----------------------------------+------------------+-------------+
| | | |
| Which Berkeley and where. | disable-shared | shared |
| | | |
+==================================+==================+=============+
| db 3.2.9 sources in subdir `db' | WORKS | WORKS |
+----------------------------------+------------------+-------------+
| db 3.2.9 installed on system | WORKS | WORKS |
+----------------------------------+------------------+-------------+
| db 3.3.11 sources in subdir `db' | WORKS | build fails |
+----------------------------------+------------------+-------------+
| db 3.3.11 installed on system | untested | untested |
+----------------------------------+------------------+-------------+
Where it says "WORKS", that means either all of 'make check' passed,
or at least the DB-specific parts passed, like the fs tests. (Due to
problems I posted recently, not all of 'make check' passes with shared
binaries, until 'make install' has been run.)
The fact that DB 3.3.11 works in at least one case is gravy; it means
Subversion will work with either DB. Apparently the Sleepycat people
did a careful job of upgrading DB's configuration to Autoconf 2.5,
managing to keep Autoconf 2.13 compatibility. Nice work!
The one bothersome thing is the "build fails" entry. I'm not sure of
the root cause, but here is what happened:
$ ./autogen.sh; ./configure; make
cd subversion/libsvn_delta && /bin/sh /home/kfogel/src/wc_subversion/libtool --silent --mode=link gcc -DLINUX=2 -D_REENTRANT -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_SVID_SOURCE -I/home/kfogel/src/wc_subversion/db/dist -g -O2 -pthread -I./subversion/include -I. -I./apr/include -I./neon/src -I./expat-lite -rpath /usr/local/lib -o libsvn_delta.la compose_editors.lo default_editor.lo svndiff.lo text_delta.lo track_editor.lo vdelta.lo xml_output.lo xml_parse.lo -lm -lcrypt -lnsl -ldl -L/home/kfogel/src/wc_subversion/db/dist -ldb
/usr/bin/ld: cannot find -ldb
collect2: ld returned 1 exit status
make: *** [subversion/libsvn_delta/libsvn_delta.la] Error 1
$
Any ideas? Mo?
-K
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Oct 21 14:36:35 2006