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

Re: Subversion upgraded to Berkeley DB 4.0.14

From: Albert Chin <subversion-dev_at_thewrittenword.com>
Date: 2002-01-03 01:54:14 CET

On Wed, Jan 02, 2002 at 03:44:18PM -0800, Justin Erenkrantz wrote:
> On Wed, Jan 02, 2002 at 05:30:07PM -0600, Karl Fogel wrote:
> > In other words, can we have a situation where the db used by httpd and
> > the db used by Subversion are completely independent?
>
> I don't think so. httpd's run-time path takes precedence unless
> overriden by LD_PRELOAD. -- justin

So if Apache was built to search for libraries in path `x' and `y' and
libmod_dav_svn.so was built with the search path set to `z', then when
apache dynamically loads libmod_dav_svn.so, all library dependencies
of libmod_dav_svn.so will be resolved against `x' and `y', not `z'?
This probably has more to do with dlopen() semantics than Apache.

More than likely, dlopen(), when loading libmod_dav_svn.so, attempts
to resolve undefined symbols without looking first in the runtime
search path of libmod_dav_svn.so. Rather, maybe it looks in the
runtime search path of the parent and libmod_dav_svn.so, in that
order. If the parent has Berkeley DB 2.x loaded and libmod_dav_svn.so
wants 4.x, then some symbols might get resolved against the 2.x shared
library and others (not present in 2.x) get resolved in the Berkeley
DB 4.x library.

Building 4.x as part of libmod_dav_svn.so is a sure way to solve this :)

-- 
albert chin (china@thewrittenword.com)
---------------------------------------------------------------------
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:54 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.