You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Philip Martin <ph...@codematters.co.uk> on 2002/04/12 14:02:48 UTC

shared dav_svn is not relinking

Hi

I notice that the installed libmod_dav_svn.so module is linked to
subversion libraries in my build tree and not to the installed
libraries.  Within the build tree, libmod_dav_svn.so is linked against
libraries in the build tree, just like all the other subversion
libraries. However once installed the subversion libraries are linked
against the installed libraries, but libmod_dav_svn.so remains linked
against the build tree.

The file subversion/mod_dav_svn/libmod_dav_svn.la contains a
relink_command, but this does not appear to get executed when
libmod_dav_svn.so is installed.  The module is installed by calling
apache's 'apxs -i -a', this in turn calls apache's instdso.sh, and
this simply copies the library from the build tree into the module
directory. Quoting from instdso.sh

  #!/bin/sh
  #
  # instdso.sh - install Apache DSO modules
  #
  # we use this instead of libtool --install because:
  # 1) on a few platforms libtool doesn't install DSOs exactly like we'd
  #    want (weird names, doesn't remove DSO first)
  # 2) we never want the .la files copied, so we might as well copy
  #    the .so files ourselves

it appears that not using libtool is deliberate.

If I execute the relink_command by hand I get a shared library that is
correctly linked against the installed Subversion libraries.

Does anyone else see this problem? How is it supposed to work? Is this
an Apache bug?

I am using apache-2.0.35 and libtool-1.4.2 on Linux.

-- 
Philip

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: shared dav_svn is not relinking

Posted by Philip Martin <ph...@codematters.co.uk>.
"Sander Striker" <st...@apache.org> writes:

> > If I execute the relink_command by hand I get a shared library that is
> > correctly linked against the installed Subversion libraries.
> >
> > Does anyone else see this problem? How is it supposed to work? Is this
> > an Apache bug?
> >
> > I am using apache-2.0.35 and libtool-1.4.2 on Linux.
> 
> I browsed the modules modules.mk files and came across (for example dav):
> 
> mod_dav.la: mod_dav.slo props.slo util.slo util_lock.slo liveprop.slo providers.slo std_liveprop.slo
>         $(SH_LINK) -rpath $(libexecdir) -module -avoid-version  mod_dav.lo props.lo util.lo util_lock.lo liveprop.lo providers.lo
> std_liveprop.lo
> 
> It seems the -rpath option is goodness here.  Would that solve our problem?

There is already an '-rpath /usr/local/subversion/lib' when I link
libmod_dav_svn.so.  That doesn't look right since this is going to get
installed in the apache modules directory not the subversion
directory, however I don't think that is the problem or the
solution. The problem is that the libtool produced library needs to be
relinked on installation and that is not happening.

-- 
Philip

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

RE: shared dav_svn is not relinking

Posted by Sander Striker <st...@apache.org>.
> From: Philip Martin [mailto:pm@localhost]On Behalf Of Philip Martin
> Sent: 12 April 2002 16:03

> Hi
>
> I notice that the installed libmod_dav_svn.so module is linked to
> subversion libraries in my build tree and not to the installed
> libraries.  Within the build tree, libmod_dav_svn.so is linked against
> libraries in the build tree, just like all the other subversion
> libraries. However once installed the subversion libraries are linked
> against the installed libraries, but libmod_dav_svn.so remains linked
> against the build tree.
>
> The file subversion/mod_dav_svn/libmod_dav_svn.la contains a
> relink_command, but this does not appear to get executed when
> libmod_dav_svn.so is installed.  The module is installed by calling
> apache's 'apxs -i -a', this in turn calls apache's instdso.sh, and
> this simply copies the library from the build tree into the module
> directory. Quoting from instdso.sh
>
>   #!/bin/sh
>   #
>   # instdso.sh - install Apache DSO modules
>   #
>   # we use this instead of libtool --install because:
>   # 1) on a few platforms libtool doesn't install DSOs exactly like we'd
>   #    want (weird names, doesn't remove DSO first)
>   # 2) we never want the .la files copied, so we might as well copy
>   #    the .so files ourselves
>
> it appears that not using libtool is deliberate.
>
> If I execute the relink_command by hand I get a shared library that is
> correctly linked against the installed Subversion libraries.
>
> Does anyone else see this problem? How is it supposed to work? Is this
> an Apache bug?
>
> I am using apache-2.0.35 and libtool-1.4.2 on Linux.

I browsed the modules modules.mk files and came across (for example dav):

mod_dav.la: mod_dav.slo props.slo util.slo util_lock.slo liveprop.slo providers.slo std_liveprop.slo
        $(SH_LINK) -rpath $(libexecdir) -module -avoid-version  mod_dav.lo props.lo util.lo util_lock.lo liveprop.lo providers.lo
std_liveprop.lo

It seems the -rpath option is goodness here.  Would that solve our problem?

> Philip

Sander


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org