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

Re: build system problem, anyone know how to fix?

From: Yoshiki Hayashi <yoshiki_at_xemacs.org>
Date: 2001-08-15 11:14:48 CEST

At Wed, 8 Aug 2001 15:07:39 -0700,
Greg Stein wrote:
>
> On Wed, Aug 08, 2001 at 05:06:37PM -0500, kfogel@collab.net wrote:
> > Greg Stein <gstein@lyra.org> writes:
> > > Yup. Although it will probably be --enable-dso for the switch. The
> > > static/shared would be "link it all in" and the DSO load would be the odd
> > > guy out.
> > >
> > > [ I'm thinking that DSO loading is less useful than shared-lib-linkage ]
> >
> > +1
> >
> > [itching to do it now, but too much other stuff on plate of greater
> > importance :-) ]
>
> (anybody:)
>
> See the SVN_RA_LIB_* values in configure.in.

Here's a patch to add --enable-dso option. Default is to disable DSO.
If both --enable-dso and --disable-shared is present, it prints
warning. It might be better to bomb out instead of warning. You can
change it to whatever you like.

Note that this patch does not solve make check problem with shared
library build. See ldd outputs below. Still, libsvn_ra_dav and
libneon cannot be found. Libtool 1.3.5 doesn't seem to be able to add
dependencies to indirectly linked libraries. (libneon and libsvn_ra_dav
are pulled from libsvn_ra's dependency). I'll try with autconf 2.52
and libtool 1.4 later. I modified build system so that Subversion can
be build with autoconf 2.52 and libtool 1.4 or autoconf 2.13 and
libtool 1.3.5. I didn't have problem to build apr with autoconf 2.52
and libtool 1.4b from Debian sid. I'll send the patch tomorrow since
it might not apply cleanly after applying this and my following patch.

I don't know why libsvn_ra_local is statically linked to libsvn_ra.
Perhaps someone who knows build system better than me can explain it.

$ ldd subversion/clients/cmdline/.libs/lt-svn
        libsvn_client.so.0 => /work/yoshiki/work/build/subversion/subversion/libsvn_client/.libs/libsvn_client.so.0 (0x40016000)
        libm.so.6 => /lib/libm.so.6 (0x40028000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0x4004a000)
        libnsl.so.1 => /lib/libnsl.so.1 (0x40077000)
        libdl.so.2 => /lib/libdl.so.2 (0x4008d000)
        libsvn_wc.so.0 => /work/yoshiki/work/build/subversion/subversion/libsvn_wc/.libs/libsvn_wc.so.0 (0x40090000)
        libsvn_ra.so.0 => /work/yoshiki/work/build/subversion/subversion/libsvn_ra/.libs/libsvn_ra.so.0 (0x400a3000)
        libsvn_ra_dav.so.0 => not found
        libneon.so.15 => not found
        libdb3.so.3 => /usr/lib/libdb3.so.3 (0x400c5000)
        libsvn_delta.so.0 => /work/yoshiki/work/build/subversion/subversion/libsvn_delta/.libs/libsvn_delta.so.0 (0x4016d000)
        libsvn_subr.so.0 => /work/yoshiki/work/build/subversion/subversion/libsvn_subr/.libs/libsvn_subr.so.0 (0x40177000)
        libapr.so.0 => /work/yoshiki/work/build/subversion/apr/.libs/libapr.so.0 (0x40185000)
        libexpat.so.0 => /work/yoshiki/work/build/subversion/expat-lite/.libs/libexpat.so.0 (0x401a1000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x401b9000)
        libc.so.6 => /lib/libc.so.6 (0x401cf000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
        libsvn_ra_dav.so.0 => not found
        libneon.so.15 => not found

* New option --enable-dso to enable DSO loading.
  Defaults to disable.

Index: configure.in
===================================================================
RCS file: /home/penny/cvsroot/subversion/configure.in,v
retrieving revision 1.1.1.1
retrieving revision 1.1.1.1.4.2
diff -u -r1.1.1.1 -r1.1.1.1.4.2
--- configure.in 14 Aug 2001 13:55:34 -0000 1.1.1.1
+++ configure.in 15 Aug 2001 08:32:00 -0000 1.1.1.1.4.2
@@ -267,7 +267,16 @@
 fi
 
 dnl decide whether we want to link against the RA libraries
-if test "$enable_shared" = "no"; then
+AC_ARG_ENABLE(dso,
+[ --enable-dso Turn on DSO loading of RA libralies],
+[
+ enable_dso=yes
+ if test "$enable_shared" = "no"; then
+ AC_MSG_WARN([--enable-dso is meaningless with static library build])
+ fi
+])
+
+if test "$enable_shared" = "no" -o "$enable_dso" != "yes"; then
   AC_DEFINE(SVN_LIBSVN_CLIENT_LINKS_RA_DAV, 1,
         [Defined if libsvn_client should link against libsvn_ra_dav])
   SVN_RA_LIB_DEPS="subversion/libsvn_ra_dav/libsvn_ra_dav.la"

-- 
Yoshiki Hayashi
---------------------------------------------------------------------
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:36 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.