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

Broken build with --disable-shared

From: Mo DeJong <mdejong_at_cygnus.com>
Date: 2001-04-01 08:22:35 CEST

I did some more looking at the problem with the
build being broken when you pass --disable-shared
to subversion's configure script. The problem
seems to be libtool's fault. It would appear
that the current "solution" is to only allow
shared builds, which is a real bummer for
ease of debugging.

Note: do *not* configure subversion with "--disable-shared"!
    mod_dav_svn *must* be built as a shared library.

    Note: it *is* possible to build mod_dav_svn as a static library
    and link it directly into Apache. Possible, but painful. Stick
    with the shared library for now; if you can't, then ask.

Removing the hack in libsvn_ra_dav/Makefile.am and
libsvn_ra_local/Makefile.am fixes the static
build at a cost of apparently breaking the
shared build.

Index: libsvn_ra_dav/Makefile.am
===================================================================
RCS file: /cvs/subversion/subversion/libsvn_ra_dav/Makefile.am,v
retrieving revision 1.9
diff -u -r1.9 Makefile.am
--- libsvn_ra_dav/Makefile.am 2001/03/28 11:51:29 1.9
+++ libsvn_ra_dav/Makefile.am 2001/04/01 06:05:52
@@ -10,7 +10,7 @@
 ### shared libs are being built. libtool barfs on us. we need to upgrade
 ### to libtool 1.4 when it gets released
 libsvn_ra_dav_la_LIBADD = \
- -L$(top_builddir)/neon/src/.libs -lneon
+ -L$(top_builddir)/neon/src -lneon
 
 INCLUDES = @SVN_INCLUDES@ @SVN_APR_INCLUDES@ @SVN_NEON_INCLUDES@
 
Index: libsvn_ra_local/Makefile.am
===================================================================
RCS file: /cvs/subversion/subversion/libsvn_ra_local/Makefile.am,v
retrieving revision 1.6
diff -u -r1.6 Makefile.am
--- libsvn_ra_local/Makefile.am 2001/03/27 11:59:15 1.6
+++ libsvn_ra_local/Makefile.am 2001/04/01 06:05:52
@@ -14,9 +14,9 @@
 ### shared libs are being built. libtool barfs on us. we need to upgrade
 ### to libtool 1.4 when it gets released
 libsvn_ra_local_la_LIBADD = \
- -L$(top_builddir)/subversion/libsvn_fs/.libs -lsvn_fs \
- -L$(top_builddir)/subversion/libsvn_delta/.libs -lsvn_delta \
- -L$(top_builddir)/subversion/libsvn_subr/.libs -lsvn_subr
+ -L$(top_builddir)/subversion/libsvn_fs -lsvn_fs \
+ -L$(top_builddir)/subversion/libsvn_delta -lsvn_delta \
+ -L$(top_builddir)/subversion/libsvn_subr -lsvn_subr
 
 ## Build flags ---------

So what are our options:

1. Leave it the way it is, perhaps add an error
   if the user passes --disable-shared.

2. Add automake conditional var like SVN_STATIC
   that gets set to true when you pass --disable-shared
   to configure. There is already a IS_STATIC_APACHE
   automake conditional, but it does not seem to work.

3. Upgrade to the CVS version of libtool, since the
   comments would seem to imply this would remove
   the need for the workarounds.

Option 1 really stinks. I think the most simple
approach is 2, but 3 might be the best idea in
the long run. Option 3 would require that
developers have the CVS versions of
autoconf, automake, and perhaps libtool.
Keep in mind that option 3 would present
more of a "challenge", since it would
require getting apr to sign on to the idea.

Opinions?

Mo DeJong
Red Hat Inc
Received on Sat Oct 21 14:36:26 2006

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