[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Configured without bdb but tries to load libsvn_fs_base anyway

From: Jacek Nitkiewicz <kcestay_at_poczta.onet.pl>
Date: 2006-02-18 17:45:38 CET

Greg Hudson wrote:
> The symbol you've conditionalized on is also undefined if Subversion is
> configured to use BDB, but is also configured with --enable-dso such
> that the module is loaded at runtime.

Oops, I overlooked it, sorry.

> We take the same approach in libsvn_ra. We could remove the table entry
> when BDB isn't built, but it would be extra complexity.

Well, just a few additional lines to prevent the confusing behaviour, at
least for libsvn_fs_base (I saw similar problems on users@ list:
http://svn.haxx.se/users/archive-2005-08/0609.shtml).

Could you please have a look at the attached patch?

Regards,
Jacek

Index: build/ac-macros/berkeley-db.m4
===================================================================
--- build/ac-macros/berkeley-db.m4 (wersja 18521)
+++ build/ac-macros/berkeley-db.m4 (kopia robocza)
@@ -121,6 +121,7 @@
     if test "$svn_have_berkeley_db" = "yes"; then
       AC_MSG_RESULT([yes])
       svn_lib_berkeley_db=yes
+ AC_DEFINE([SVN_HAVE_BERKELEY_DB], [1], [Defined if built with Berkeley DB])
     else
       AC_MSG_RESULT([no])
       svn_lib_berkeley_db=no
Index: subversion/libsvn_fs/fs-loader.c
===================================================================
--- subversion/libsvn_fs/fs-loader.c (wersja 18521)
+++ subversion/libsvn_fs/fs-loader.c (kopia robocza)
@@ -58,12 +58,14 @@
   const char *fsap_name;
   fs_init_func_t initfunc;
 } fs_modules[] = {
+#ifdef SVN_HAVE_BERKELEY_DB
   {
     SVN_FS_TYPE_BDB, "base",
 #ifdef SVN_LIBSVN_FS_LINKS_FS_BASE
     svn_fs_base__init
 #endif
   },
+#endif
 
   {
     SVN_FS_TYPE_FSFS, "fs",
Index: subversion/svn_private_config.hw
===================================================================
--- subversion/svn_private_config.hw (wersja 18521)
+++ subversion/svn_private_config.hw (kopia robocza)
@@ -36,6 +36,9 @@
 /* Name of system's null device */
 #define SVN_NULL_DEVICE_NAME "nul"
 
+/* Use Berkeley DB */
+#define SVN_HAVE_BERKELEY_DB 1
+
 /* Link fs base library into the fs library */
 #define SVN_LIBSVN_FS_LINKS_FS_BASE
 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Feb 18 17:40:57 2006

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.