You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Karl Fogel <kf...@newton.ch.collab.net> on 2001/11/25 00:17:58 UTC

shared build problems

This is long, but if you understand our configuration system and
libtool pretty well, please read the whole thing -- your expertise is
needed. :-)

I just reverted revision 478, because it seems to have broken shared
builds; here I'm reporting what I saw so we can figure out what's
wrong and how to make it right.  Reverting 478 fixed part of the
problem, leaving a (somewhat familiar) remainder problem.

Note that I'm not claiming there's anything necessarily wrong with
change 478.  It might simply be that that change revealed another bug
elsewhere in our configuration system; not sure yet.

First, some background.  Here's the log message and diff from revision
478:

   ------------------------------------------------------------------------
   rev 478:  yoshiki | Mon 19 Nov 2001 02:41:55 | 5 lines
   
   * configure.in: Add new option --enable-dso.  Default is
     --disable-dso.  When enabled, libsvn_client tries to load
     RA libraries at run time.  Otherwise, RA libraries are
     dynamically linked.
   
   ------------------------------------------------------------------------
   *** configure.in	Sat Nov 24 08:35:08 2001
   --- configure.in	Sat Nov 24 08:31:15 2001
   ***************
   *** 273,279 ****
     AC_SUBST(INSTALL_INFO)
     
     dnl decide whether we want to link against the RA libraries
   ! if test "$enable_shared" = "no"; 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"
   --- 273,290 ----
     AC_SUBST(INSTALL_INFO)
     
     dnl decide whether we want to link against the RA libraries
   ! AC_ARG_ENABLE(dso,
   ! [  --enable-dso              Turn on DSO loading of RA libralies],
   ! [
   !     if test "$enableval" = "yes"; then
   !       enable_dso=yes
   !       if test "$enable_shared" = "no"; then
   !         AC_MSG_ERROR([--enable-dso conflicts with --disable-shared])
   !       fi
   !     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"

Below is a transcript of what was happening *before* I reverted the
above change.  I'll configure without the --with-apxs stuff for
simplicity's sake, since the problem was identical with and without
that:

   floss$ su
   floss# /usr/local/bin/cleanup.sh
      [... this cleans libsvn_*, etc, out of /usr/local/lib ...]
   floss# exit
   floss$ cd top-of-my-subversion-working-copy
   floss$ svn up
   floss$ make distclean
   floss$ ./autogen.sh
   floss$ ./configure --enable-maintainer-mode  \
                      --with-berkeley-db=/usr/local/BerkeleyDB.3.3
   floss$ make
      [... builds with no errors ...]
   floss$ ./subversion/clients/cmdline/svn --version
   Subversion Client, version 0.6.0
      compiled Nov 24 2001, 09:11:47
   
   Copyright (C) 2000-2001 CollabNet.
   Subversion is open source software, see http://subversion.tigris.org/
   
   The following repository access (RA) modules are available:
   
   * ra_dav : Module for accessing a repository via WebDAV (DeltaV) protocol.
     - handles 'http' schema
   * ra_local : Module for accessing a repository on local disk.
     - handles 'file' schema

   floss$ su
   floss# make install
      [... output discussed later in this mail message ...]
   floss# exit
   floss$ ./subversion/clients/cmdline/svn --version
   lt-svn: error in loading shared libraries: libsvn_ra.so.0: cannot \
   open shared object file: No such file or directory
   floss$ /usr/local/bin/svn --version
   /usr/local/bin/svn: error in loading shared libraries: libsvn_ra.so.0: \
   cannot open shared object file: No such file or directory
   floss$ HUH?
   bash: HUH?: command not found
   floss$ 

Fascinating.  Before I install, the newly-built binary reports that it
handles both ra_dav and ra_local.  After the install, it can't even
load up properly, no matter where you invoke it from.  Not only that,
but look who didn't get installed:

   floss$ ls /usr/local/lib/libsvn_ra*
   /usr/local/lib/libsvn_ra_dav.a    /usr/local/lib/libsvn_ra_dav.so.0@
   /usr/local/lib/libsvn_ra_dav.la*  /usr/local/lib/libsvn_ra_dav.so.0.0.0*
   /usr/local/lib/libsvn_ra_dav.so@

Only ra_dav libraries were installed; no ra, no ra_local.  Where are
they?  Let's ask the working copy:

   floss$ ls -l subversion/libsvn_ra/.libs
      [... output abbreviated for readability ...]
   total 88
   -rw-r--r--       38596  libsvn_ra.a
   lrwxrwxrwx          15  libsvn_ra.la -> ../libsvn_ra.la
   -rw-r--r--        1012  libsvn_ra.lai
   lrwxrwxrwx          18  libsvn_ra.so -> libsvn_ra.so.0.0.0
   lrwxrwxrwx          18  libsvn_ra.so.0 -> libsvn_ra.so.0.0.0
   -rwxr-xr-x       43424  libsvn_ra.so.0.0.0U*
   floss$ ls -l subversion/libsvn_ra_local/.libs
      [... output abbreviated for readability ...]
   total 268
   -rw-r--r--      173500  libsvn_ra_local.a
   lrwxrwxrwx          21  libsvn_ra_local.la -> ../libsvn_ra_local.la
   -rw-r--r--         941  libsvn_ra_local.lai
   lrwxrwxrwx          24  libsvn_ra_local.so -> libsvn_ra_local.so.0.0.0
   lrwxrwxrwx          24  libsvn_ra_local.so.0 -> libsvn_ra_local.so.0.0.0
   -rwxr-xr-x       85957  libsvn_ra_local.so.0.0.0U*

Well, those symbolic links look messed up -- they're pointing to
.so.0.0.0 files that don't exist.  There are those files with "U"
appended to their names; not sure what that's about.  Maybe this is
all proper libtool behavior, and I just am not sufficiently familiar
with it to know?

Anyway, at this point I reviewed the output of "make install" to see
if it even tried to install `libsvn_ra' and `libsvn_ra_local'.  It did
try, and it failed.  Below are the relevant sections from the output
of "make install" for each of ra, ra_dav, and ra_local, in that order.
Only ra_dav installed successfully.  The other two apparently try to
link with -lsvn_ra_dav or -lsvn_repos, respectively, and bomb.  Why
would they try this at link time?  I'm not sure...

Here are the "make install" output excerpts:

--------------------------------------------------------------------------
For plain ra:
--------------------------------------------------------------------------

   cd subversion/libsvn_ra ; /bin/sh /home/kfogel/src/subversion/libtool --mode=install /home/kfogel/src/subversion/ac-helpers/install-sh -c libsvn_ra.la /usr/local/lib/libsvn_ra.la
   libtool: install: warning: relinking `libsvn_ra.la'
   cd /home/kfogel/src/subversion/subversion/libsvn_ra; /bin/sh /home/kfogel/src/subversion/libtool --mode=relink gcc -DLINUX=2 -D_REENTRANT -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_SVID_SOURCE -g -g -Wall -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -pthread -DNEON_ZLIB -Wpointer-arith -Wwrite-strings -Wshadow -DSVN_DEBUG -DAP_DEBUG -I./subversion/include -I. -I/home/kfogel/src/subversion/apr/include -I/include -I/home/kfogel/src/subversion/neon/src -I./expat-lite -I/usr/local/BerkeleyDB.3.3/include -rpath /usr/local/lib -o libsvn_ra.la ra_loader.lo /home/kfogel/src/subversion/subversion/libsvn_ra_dav/libsvn_ra_dav.la /home/kfogel/src/subversion/neon/src/libneon.la -L/usr/local/lib -lz /home/kfogel/src/subversion/subversion/libsvn_ra_local/libsvn_ra_local.la /home/kfogel/src/subversion/subversion/libsvn_repos/libsvn_repos.la /home/kfogel/src/subversion/subversion/libsvn_fs/libsvn_fs.la -L/usr/local/BerkeleyDB.3.3/lib -ldb -lm -lcrypt -lnsl -ldl
   gcc -shared  ra_loader.lo  -Wl,--rpath -Wl,/usr/local/lib  -L/home/kfogel/src/subversion/subversion/libsvn_subr/.libs -L/home/kfogel/src/subversion/subversion/libsvn_delta/.libs -L/usr/local/BerkeleyDB.3.3/lib -L/home/kfogel/src/subversion/subversion/libsvn_fs/.libs -L/home/kfogel/src/subversion/subversion/libsvn_repos/.libs -L/home/kfogel/src/subversion/neon/src/.libs -L/usr/local/lib -lsvn_ra_dav -lneon -lz -lsvn_ra_local -lsvn_repos -lsvn_fs -ldb -lm -lcrypt -lnsl -ldl       -Wl,-soname -Wl,libsvn_ra.so.0 -o .libs/libsvn_ra.so.0.0.0
   /usr/bin/ld: cannot find -lsvn_ra_dav
   collect2: ld returned 1 exit status
   libtool: install: error: relink `libsvn_ra.la' with the above command before installing it

--------------------------------------------------------------------------
Now ra_dav:
--------------------------------------------------------------------------

   cd subversion/libsvn_ra_dav ; /bin/sh /home/kfogel/src/subversion/libtool --mode=install /home/kfogel/src/subversion/ac-helpers/install-sh -c libsvn_ra_dav.la /usr/local/lib/libsvn_ra_dav.la
   libtool: install: warning: relinking `libsvn_ra_dav.la'
   cd /home/kfogel/src/subversion/subversion/libsvn_ra_dav; /bin/sh /home/kfogel/src/subversion/libtool --mode=relink gcc -DLINUX=2 -D_REENTRANT -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_SVID_SOURCE -g -g -Wall -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -pthread -DNEON_ZLIB -Wpointer-arith -Wwrite-strings -Wshadow -DSVN_DEBUG -DAP_DEBUG -I./subversion/include -I. -I/home/kfogel/src/subversion/apr/include -I/include -I/home/kfogel/src/subversion/neon/src -I./expat-lite -I/usr/local/BerkeleyDB.3.3/include -rpath /usr/local/lib -o libsvn_ra_dav.la session.lo props.lo log.lo merge.lo util.lo options.lo fetch.lo commit.lo /home/kfogel/src/subversion/neon/src/libneon.la -L/usr/local/lib -lz -lm -lcrypt -lnsl -ldl
   gcc -shared  session.lo props.lo log.lo merge.lo util.lo options.lo fetch.lo commit.lo  -Wl,--rpath -Wl,/usr/local/lib  -L/usr/local/lib -lneon -lz -lm -lcrypt -lnsl -ldl   -Wl,-soname -Wl,libsvn_ra_dav.so.0 -o .libs/libsvn_ra_dav.so.0.0.0
   /home/kfogel/src/subversion/ac-helpers/install-sh -c .libs/libsvn_ra_dav.so.0.0.0T /usr/local/lib/libsvn_ra_dav.so.0.0.0
   (cd /usr/local/lib && rm -f libsvn_ra_dav.so.0 && ln -s libsvn_ra_dav.so.0.0.0 libsvn_ra_dav.so.0)
   (cd /usr/local/lib && rm -f libsvn_ra_dav.so && ln -s libsvn_ra_dav.so.0.0.0 libsvn_ra_dav.so)
   /home/kfogel/src/subversion/ac-helpers/install-sh -c .libs/libsvn_ra_dav.lai /usr/local/lib/libsvn_ra_dav.la
   /home/kfogel/src/subversion/ac-helpers/install-sh -c .libs/libsvn_ra_dav.a /usr/local/lib/libsvn_ra_dav.a
   ranlib /usr/local/lib/libsvn_ra_dav.a
   chmod 644 /usr/local/lib/libsvn_ra_dav.a

--------------------------------------------------------------------------
Now ra_local:
--------------------------------------------------------------------------

   cd subversion/libsvn_ra_local ; /bin/sh /home/kfogel/src/subversion/libtool --mode=install /home/kfogel/src/subversion/ac-helpers/install-sh -c libsvn_ra_local.la /usr/local/lib/libsvn_ra_local.la
   libtool: install: warning: relinking `libsvn_ra_local.la'
   cd /home/kfogel/src/subversion/subversion/libsvn_ra_local; /bin/sh /home/kfogel/src/subversion/libtool --mode=relink gcc -DLINUX=2 -D_REENTRANT -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_SVID_SOURCE -g -g -Wall -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -pthread -DNEON_ZLIB -Wpointer-arith -Wwrite-strings -Wshadow -DSVN_DEBUG -DAP_DEBUG -I./subversion/include -I. -I/home/kfogel/src/subversion/apr/include -I/include -I/home/kfogel/src/subversion/neon/src -I./expat-lite -I/usr/local/BerkeleyDB.3.3/include -rpath /usr/local/lib -o libsvn_ra_local.la ra_plugin.lo commit_editor.lo split_url.lo checkout.lo ../../subversion/libsvn_repos/libsvn_repos.la ../../subversion/libsvn_fs/libsvn_fs.la ../../subversion/libsvn_delta/libsvn_delta.la ../../subversion/libsvn_subr/libsvn_subr.la -lm -lcrypt -lnsl -ldl
   gcc -shared  ra_plugin.lo commit_editor.lo split_url.lo checkout.lo  -Wl,--rpath -Wl,/usr/local/lib  -L/usr/local/BerkeleyDB.3.3/lib -L/usr/local/lib -lsvn_repos -lsvn_fs -lsvn_delta -lsvn_subr -lm -lcrypt -lnsl -ldl      -Wl,-soname -Wl,libsvn_ra_local.so.0 -o .libs/libsvn_ra_local.so.0.0.0
   /usr/bin/ld: cannot find -lsvn_repos
   collect2: ld returned 1 exit status
   libtool: install: error: relink `libsvn_ra_local.la' with the above command before installing it

--------------------------------------------------------------------------

Then I reverted 478, and rebuilt everything exactly the same way
(complete with the cleanup.sh, "make distclean", etc).  Here's how
things go immediately after building:

  floss$ subversion/clients/cmdline/svn --version
   Subversion Client, version 0.6.0
      compiled Nov 24 2001, 09:44:53
   
   Copyright (C) 2000-2001 CollabNet.
   Subversion is open source software, see http://subversion.tigris.org/
   
   The following repository access (RA) modules are available:
   
   

     [... okay, having no ra modules is typical, we just need to
     install ...]

   floss$ su
   floss# make install
   floss# exit
   floss$ subversion/clients/cmdline/svn --version
   Subversion Client, version 0.6.0
      compiled Nov 24 2001, 09:44:53
   
   Copyright (C) 2000-2001 CollabNet.
   Subversion is open source software, see http://subversion.tigris.org/
   
   The following repository access (RA) modules are available:
   
   * ra_dav : Module for accessing a repository via WebDAV (DeltaV) protocol.
     - handles 'http' schema
   
  floss$ /usr/local/bin/svn --version
   Subversion Client, version 0.6.0
      compiled Nov 24 2001, 09:44:53
   
   Copyright (C) 2000-2001 CollabNet.
   Subversion is open source software, see http://subversion.tigris.org/
   
   The following repository access (RA) modules are available:
   
   * ra_dav : Module for accessing a repository via WebDAV (DeltaV) protocol.
     - handles 'http' schema
   
   floss$ 
   
Okay, now we get ra_dav, but still no ra_local.  We've seen this
phenomenon before, where ra_local doesn't get included in a shared
build, but I can't remember the cause.  Does anyone recall?

Anyway, I reviewed the output of "make install" again.  Everything
installed successfully except for `ra_local', which had the same link
error as before I reverted 478:

--------------------------------------------------------------------------

   cd subversion/libsvn_ra_local ; /bin/sh /home/kfogel/src/subversion/libtool --mode=install /home/kfogel/src/subversion/ac-helpers/install-sh -c libsvn_ra_local.la /usr/local/lib/libsvn_ra_local.la
   libtool: install: warning: relinking `libsvn_ra_local.la'
   cd /home/kfogel/src/subversion/subversion/libsvn_ra_local; /bin/sh /home/kfogel/src/subversion/libtool --mode=relink gcc -DLINUX=2 -D_REENTRANT -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_SVID_SOURCE -g -g -Wall -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -pthread -DNEON_ZLIB -Wpointer-arith -Wwrite-strings -Wshadow -DSVN_DEBUG -DAP_DEBUG -I./subversion/include -I. -I/home/kfogel/src/subversion/apr/include -I/include -I/home/kfogel/src/subversion/neon/src -I./expat-lite -I/usr/local/BerkeleyDB.3.3/include -rpath /usr/local/lib -o libsvn_ra_local.la ra_plugin.lo commit_editor.lo split_url.lo checkout.lo ../../subversion/libsvn_repos/libsvn_repos.la ../../subversion/libsvn_fs/libsvn_fs.la ../../subversion/libsvn_delta/libsvn_delta.la ../../subversion/libsvn_subr/libsvn_subr.la -lm -lcrypt -lnsl -ldl
   gcc -shared  ra_plugin.lo commit_editor.lo split_url.lo checkout.lo  -Wl,--rpath -Wl,/usr/local/lib  -L/usr/local/BerkeleyDB.3.3/lib -L/usr/local/lib -lsvn_repos -lsvn_fs -lsvn_delta -lsvn_subr -lm -lcrypt -lnsl -ldl      -Wl,-soname -Wl,libsvn_ra_local.so.0 -o .libs/libsvn_ra_local.so.0.0.0
   /usr/bin/ld: cannot find -lsvn_repos
   collect2: ld returned 1 exit status
   libtool: install: error: relink `libsvn_ra_local.la' with the above command before installing it

--------------------------------------------------------------------------

In summary, with change 478, one can't (or at least, I can't) build a
shared binary that can use either ra_local or ra_dav.  Without change
478, a shared binary can use ra_dav, but still not ra_local.

By the way, through all of this, configuring with --disable-shared
still works fine.  Can get a static binary with both ra_local and
ra_dav anytime.

Thoughts?

-Karl

P.S. Just in case you were wondering:

   floss$ libtool --version
   ltmain.sh (GNU libtool) 1.4.2 (1.922.2.53 2001/09/11 03:18:52)
   floss$ autoconf --version
   autoconf (GNU Autoconf) 2.52
   [...]
   floss$ 


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

Re: shared build problems

Posted by Yoshiki Hayashi <yo...@xemacs.org>.
Karl Fogel <kf...@newton.ch.collab.net> writes:

> By the way, I'm running Debian stable, not unstable -- I installed
> the newer autoconf and libtool in /usr/local, from source
> distributions, but did *not* uninstall the older versions.  Do you
> think that might be causing a problem?

I remember I got some problems when I installed libtool 1.3
to /usr/local and the system had libtool 1.4 a few months
ago.  Don't know uninstalling will fix the problem but it
won't hurt to try it. :-)

-- 
Yoshiki Hayashi

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

Re: shared build problems

Posted by Karl Fogel <kf...@newton.ch.collab.net>.
Hmmm, okay.  Thanks so much for looking at it, Yoshiki -- the
knowledge that it works for you helps.

I'll keep looking at it.  If this happens for no one else, then
probably the best thing is to restore the --enable-dso change, since
it appears unlikely that it is the root cause of the problem.  I'll
take care of that.

By the way, I'm running Debian stable, not unstable -- I installed
the newer autoconf and libtool in /usr/local, from source
distributions, but did *not* uninstall the older versions.  Do you
think that might be causing a problem?

-Karl

Yoshiki Hayashi <yo...@xemacs.org> writes:
> Karl Fogel <kf...@newton.ch.collab.net> writes:
> 
> > This is long, but if you understand our configuration system and
> > libtool pretty well, please read the whole thing -- your expertise is
> > needed. :-)
> 
> I don't think I'm of much help since all I can say is it
> works here, but I'll try anyway. :-)
> 
> >    floss$ su
> >    floss# /usr/local/bin/cleanup.sh
> >       [... this cleans libsvn_*, etc, out of /usr/local/lib ...]
> >    floss# exit
> >    floss$ cd top-of-my-subversion-working-copy
> >    floss$ svn up
> >    floss$ make distclean
> >    floss$ ./autogen.sh
> >    floss$ ./configure --enable-maintainer-mode  \
> >                       --with-berkeley-db=/usr/local/BerkeleyDB.3.3
> >    floss$ make
> 
> I followed the same course to build svn and it still works
> for me.  I checked out fresh copy of Subversion tree and
> manually applied --enable-dso patch.
> 
> > Only ra_dav libraries were installed; no ra, no ra_local.  Where are
> > they?  Let's ask the working copy:
> > 
> >    floss$ ls -l subversion/libsvn_ra/.libs
> >       [... output abbreviated for readability ...]
> >    total 88
> >    -rw-r--r--       38596  libsvn_ra.a
> >    lrwxrwxrwx          15  libsvn_ra.la -> ../libsvn_ra.la
> >    -rw-r--r--        1012  libsvn_ra.lai
> >    lrwxrwxrwx          18  libsvn_ra.so -> libsvn_ra.so.0.0.0
> >    lrwxrwxrwx          18  libsvn_ra.so.0 -> libsvn_ra.so.0.0.0
> >    -rwxr-xr-x       43424  libsvn_ra.so.0.0.0U*
> >    floss$ ls -l subversion/libsvn_ra_local/.libs
> >       [... output abbreviated for readability ...]
> >    total 268
> >    -rw-r--r--      173500  libsvn_ra_local.a
> >    lrwxrwxrwx          21  libsvn_ra_local.la -> ../libsvn_ra_local.la
> >    -rw-r--r--         941  libsvn_ra_local.lai
> >    lrwxrwxrwx          24  libsvn_ra_local.so -> libsvn_ra_local.so.0.0.0
> >    lrwxrwxrwx          24  libsvn_ra_local.so.0 -> libsvn_ra_local.so.0.0.0
> >    -rwxr-xr-x       85957  libsvn_ra_local.so.0.0.0U*
> > 
> > Well, those symbolic links look messed up -- they're pointing to
> > .so.0.0.0 files that don't exist.  There are those files with "U"
> > appended to their names; not sure what that's about.  Maybe this is
> > all proper libtool behavior, and I just am not sufficiently familiar
> > with it to know?
> 
> I get this:
> 
> [penny@u svn]$ ls -l subversion/libsvn_ra/.libs/
> total 95
> -rw-rw-r--    44532 Nov 26 16:53 libsvn_ra.a
> lrwxrwxrwx       15 Nov 26 16:53 libsvn_ra.la -> ../libsvn_ra.la
> -rw-rw-r--     1022 Nov 26 16:53 libsvn_ra.lai
> lrwxrwxrwx       18 Nov 26 16:53 libsvn_ra.so -> libsvn_ra.so.0.0.0
> lrwxrwxrwx       18 Nov 26 16:53 libsvn_ra.so.0 -> libsvn_ra.so.0.0.0
> -rwxrwxr-x    48752 Nov 26 16:53 libsvn_ra.so.0.0.0
> 
> > --------------------------------------------------------------------------
> > For plain ra:
> > --------------------------------------------------------------------------
> > 
> >    cd subversion/libsvn_ra ; /bin/sh /home/kfogel/src/subversion/libtool --mode=install /home/kfogel/src/subversion/ac-helpers/install-sh -c libsvn_ra.la /usr/local/lib/libsvn_ra.la
> >    libtool: install: warning: relinking `libsvn_ra.la'
> >    cd /home/kfogel/src/subversion/subversion/libsvn_ra; /bin/sh /home/kfogel/src/subversion/libtool --mode=relink gcc -DLINUX=2 -D_REENTRANT -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_SVID_SOURCE -g -g -Wall -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -pthread -DNEON_ZLIB -Wpointer-arith -Wwrite-strings -Wshadow -DSVN_DEBUG -DAP_DEBUG -I./subversion/include -I. -I/home/kfogel/src/subversion/apr/include -I/include -I/home/kfogel/src/subversion/neon/src -I./expat-lite -I/usr/local/BerkeleyDB.3.3/include -rpath /usr/local/lib -o libsvn_ra.la ra_loader.lo /home/kfogel/src/subversion/subversion/libsvn_ra_dav/libsvn_ra_dav.la /home/kfogel/src/subversion/neon/src/libneon.la -L/usr/local/lib -lz /home/kfogel/src/subversion/subversion/libsvn_ra_local/libsvn_ra_local.la /home/kfogel/src/subversion/subversion/libsvn_repos/libsvn_repos.la /home/kfogel/src/subversion/subversion/libsvn_fs/libsvn_fs.la -L/usr/local/BerkeleyDB.3.3/lib -ldb -lm -lcrypt -lnsl -ldl
> >    gcc -shared  ra_loader.lo  -Wl,--rpath -Wl,/usr/local/lib  -L/home/kfogel/src/subversion/subversion/libsvn_subr/.libs -L/home/kfogel/src/subversion/subversion/libsvn_delta/.libs -L/usr/local/BerkeleyDB.3.3/lib -L/home/kfogel/src/subversion/subversion/libsvn_fs/.libs -L/home/kfogel/src/subversion/subversion/libsvn_repos/.libs -L/home/kfogel/src/subversion/neon/src/.libs -L/usr/local/lib -lsvn_ra_dav -lneon -lz -lsvn_ra_local -lsvn_repos -lsvn_fs -ldb -lm -lcrypt -lnsl -ldl       -Wl,-soname -Wl,libsvn_ra.so.0 -o .libs/libsvn_ra.so.0.0.0
> >    /usr/bin/ld: cannot find -lsvn_ra_dav
> >    collect2: ld returned 1 exit status
> >    libtool: install: error: relink `libsvn_ra.la' with the above command before installing it
> 
> It looks like libtool is not working correctly.  I don't
> have 'U' appended to library name and have no link error.  I
> think 'U' is the cause of the problem but I don't know why
> it occurs and I don't know how to fix it. :-(
> 
> cd subversion/libsvn_ra ; /bin/sh /home/penny/work/tmp/svn/libtool --mode=install /home/penny/work/tmp/svn/ac-helpers/install-sh -c libsvn_ra.la /usr/local/lib/libsvn_ra.la
> libtool: install: warning: relinking `libsvn_ra.la'
> cd /home/penny/work/tmp/svn/subversion/libsvn_ra; /bin/sh /home/penny/work/tmp/svn/libtool --mode=relink gcc -DLINUX=2 -D_REENTRANT -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_SVID_SOURCE -g -g -Wall -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -pthread -DNEON_ZLIB -Wpointer-arith -Wwrite-strings -Wshadow -DSVN_DEBUG -DAP_DEBUG -I./subversion/include -I. -I/include -I/home/penny/work/tmp/svn/neon/src -I./expat-lite -I/usr/local/BerkeleyDB.3.3/include -rpath /usr/local/lib -o libsvn_ra.la ra_loader.lo /home/penny/work/tmp/svn/subversion/libsvn_ra_dav/libsvn_ra_dav.la /home/penny/work/tmp/svn/neon/src/libneon.la -L/usr/local/lib -lz /home/penny/work/tmp/svn/subversion/libsvn_ra_local/libsvn_ra_local.la /home/penny/work/tmp/svn/subversion/libsvn_repos/libsvn_repos.la /home/penny/work/tmp/svn/subversion/libsvn_fs/libsvn_fs.la -L/usr/local/BerkeleyDB.3.3/lib -ldb -lm -lcrypt -lnsl -ldl
> gcc -shared  ra_loader.lo  -Wl,--rpath -Wl,/usr/local/lib  -L/home/penny/work/tmp/svn/subversion/libsvn_subr/.libs -L/home/penny/work/tmp/svn/subversion/libsvn_delta/.libs -L/usr/local/BerkeleyDB.3.3/lib -L/home/penny/work/tmp/svn/subversion/libsvn_fs/.libs -L/home/penny/work/tmp/svn/subversion/libsvn_repos/.libs -L/home/penny/work/tmp/svn/neon/src/.libs -L/usr/local/lib -lsvn_ra_dav -lneon -lz -lsvn_ra_local -lsvn_repos -lsvn_fs -ldb -lm -lcrypt -lnsl -ldl       -Wl,-soname -Wl,libsvn_ra.so.0 -o .libs/libsvn_ra.so.0.0.0
> /home/penny/work/tmp/svn/ac-helpers/install-sh -c .libs/libsvn_ra.so.0.0.0T /usr/local/lib/libsvn_ra.so.0.0.0
> (cd /usr/local/lib && rm -f libsvn_ra.so.0 && ln -s libsvn_ra.so.0.0.0 libsvn_ra.so.0)
> (cd /usr/local/lib && rm -f libsvn_ra.so && ln -s libsvn_ra.so.0.0.0 libsvn_ra.so)
> /home/penny/work/tmp/svn/ac-helpers/install-sh -c .libs/libsvn_ra.lai /usr/local/lib/libsvn_ra.la
> /home/penny/work/tmp/svn/ac-helpers/install-sh -c .libs/libsvn_ra.a /usr/local/lib/libsvn_ra.a
> ranlib /usr/local/lib/libsvn_ra.a
> chmod 644 /usr/local/lib/libsvn_ra.a
> 
> > Okay, now we get ra_dav, but still no ra_local.  We've seen this
> > phenomenon before, where ra_local doesn't get included in a shared
> > build, but I can't remember the cause.  Does anyone recall?
> 
> The only cause I remember is that the BerkelyDB library is
> not on your LD_LIBRARY_PATH or /etc/ld.so.conf but it's not
> likely in your environment.
> 
> >    floss$ libtool --version
> >    ltmain.sh (GNU libtool) 1.4.2 (1.922.2.53 2001/09/11 03:18:52)
> >    floss$ autoconf --version
> >    autoconf (GNU Autoconf) 2.52
> >    [...]
> >    floss$ 
> 
> Hmm.  I'm using exactly the same tool (Debian unstable,
> right?).  Weird.
> 
> [penny@u svn]$ libtool --version
> ltmain.sh (GNU libtool) 1.4.2 (1.922.2.53 2001/09/11 03:18:52)
> [penny@u svn]$ autoconf --version
> autoconf (GNU Autoconf) 2.52
> [...]
> 
> -- 
> Yoshiki Hayashi

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

Re: shared build problems

Posted by David Summers <da...@summersoft.fay.ar.us>.

I'm beginning to wonder if it has anything to do with either APXS or 
LIBTOOL installing the modules.

I built a recent (494) version of subversion with RedHat 7.1.  It worked 
fine there.  I copied the RPM over to RedHat 7.2 and it did *not* work 
there, but when I switched to root on RedHat 7.2, it *did* work(!).

I then built the RPM on Redhat 7.2 and it *did* work.

I haven't tracked it down yet but maybe that will begin giving us clues so 
we can squash this bug.

On this subject, I'm working on a script to just copy the
/usr/lib/apache/libmod_dav_svn.la and
/usr/lib/apache/libmod_dav_svn.so during installation instead of modifying 
them somehow so that "rpm -V subversion-server" doesn't show up modified files.

   - David Summers


 On 26 Nov 2001, Yoshiki Hayashi wrote:

> Karl Fogel <kf...@newton.ch.collab.net> writes:
> 
> > This is long, but if you understand our configuration system and
> > libtool pretty well, please read the whole thing -- your expertise is
> > needed. :-)
> 
> I don't think I'm of much help since all I can say is it
> works here, but I'll try anyway. :-)
> 
> >    floss$ su
> >    floss# /usr/local/bin/cleanup.sh
> >       [... this cleans libsvn_*, etc, out of /usr/local/lib ...]
> >    floss# exit
> >    floss$ cd top-of-my-subversion-working-copy
> >    floss$ svn up
> >    floss$ make distclean
> >    floss$ ./autogen.sh
> >    floss$ ./configure --enable-maintainer-mode  \
> >                       --with-berkeley-db=/usr/local/BerkeleyDB.3.3
> >    floss$ make
> 
> I followed the same course to build svn and it still works
> for me.  I checked out fresh copy of Subversion tree and
> manually applied --enable-dso patch.
> 
> > Only ra_dav libraries were installed; no ra, no ra_local.  Where are
> > they?  Let's ask the working copy:
> > 
> >    floss$ ls -l subversion/libsvn_ra/.libs
> >       [... output abbreviated for readability ...]
> >    total 88
> >    -rw-r--r--       38596  libsvn_ra.a
> >    lrwxrwxrwx          15  libsvn_ra.la -> ../libsvn_ra.la
> >    -rw-r--r--        1012  libsvn_ra.lai
> >    lrwxrwxrwx          18  libsvn_ra.so -> libsvn_ra.so.0.0.0
> >    lrwxrwxrwx          18  libsvn_ra.so.0 -> libsvn_ra.so.0.0.0
> >    -rwxr-xr-x       43424  libsvn_ra.so.0.0.0U*
> >    floss$ ls -l subversion/libsvn_ra_local/.libs
> >       [... output abbreviated for readability ...]
> >    total 268
> >    -rw-r--r--      173500  libsvn_ra_local.a
> >    lrwxrwxrwx          21  libsvn_ra_local.la -> ../libsvn_ra_local.la
> >    -rw-r--r--         941  libsvn_ra_local.lai
> >    lrwxrwxrwx          24  libsvn_ra_local.so -> libsvn_ra_local.so.0.0.0
> >    lrwxrwxrwx          24  libsvn_ra_local.so.0 -> libsvn_ra_local.so.0.0.0
> >    -rwxr-xr-x       85957  libsvn_ra_local.so.0.0.0U*
> > 
> > Well, those symbolic links look messed up -- they're pointing to
> > .so.0.0.0 files that don't exist.  There are those files with "U"
> > appended to their names; not sure what that's about.  Maybe this is
> > all proper libtool behavior, and I just am not sufficiently familiar
> > with it to know?
> 
> I get this:
> 
> [penny@u svn]$ ls -l subversion/libsvn_ra/.libs/
> total 95
> -rw-rw-r--    44532 Nov 26 16:53 libsvn_ra.a
> lrwxrwxrwx       15 Nov 26 16:53 libsvn_ra.la -> ../libsvn_ra.la
> -rw-rw-r--     1022 Nov 26 16:53 libsvn_ra.lai
> lrwxrwxrwx       18 Nov 26 16:53 libsvn_ra.so -> libsvn_ra.so.0.0.0
> lrwxrwxrwx       18 Nov 26 16:53 libsvn_ra.so.0 -> libsvn_ra.so.0.0.0
> -rwxrwxr-x    48752 Nov 26 16:53 libsvn_ra.so.0.0.0
> 
> > --------------------------------------------------------------------------
> > For plain ra:
> > --------------------------------------------------------------------------
> > 
> >    cd subversion/libsvn_ra ; /bin/sh /home/kfogel/src/subversion/libtool --mode=install /home/kfogel/src/subversion/ac-helpers/install-sh -c libsvn_ra.la /usr/local/lib/libsvn_ra.la
> >    libtool: install: warning: relinking `libsvn_ra.la'
> >    cd /home/kfogel/src/subversion/subversion/libsvn_ra; /bin/sh /home/kfogel/src/subversion/libtool --mode=relink gcc -DLINUX=2 -D_REENTRANT -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_SVID_SOURCE -g -g -Wall -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -pthread -DNEON_ZLIB -Wpointer-arith -Wwrite-strings -Wshadow -DSVN_DEBUG -DAP_DEBUG -I./subversion/include -I. -I/home/kfogel/src/subversion/apr/include -I/include -I/home/kfogel/src/subversion/neon/src -I./expat-lite -I/usr/local/BerkeleyDB.3.3/include -rpath /usr/local/lib -o libsvn_ra.la ra_loader.lo /home/kfogel/src/subversion/subversion/libsvn_ra_dav/libsvn_ra_dav.la /home/kfogel/src/subversion/neon/src/libneon.la -L/usr/local/lib -lz /home/kfogel/src/subversion/subversion/libsvn_ra_local/libsvn_ra_local.la /home/kfogel/src/subversion/subversion/libsvn_repos/libsvn_repos.la /home/kfogel/src/subversion/subversion/libsvn_fs/libsvn_fs.la -L/usr/local/BerkeleyDB.3.3/lib -ldb -lm -lcrypt -lnsl -ldl
> >    gcc -shared  ra_loader.lo  -Wl,--rpath -Wl,/usr/local/lib  -L/home/kfogel/src/subversion/subversion/libsvn_subr/.libs -L/home/kfogel/src/subversion/subversion/libsvn_delta/.libs -L/usr/local/BerkeleyDB.3.3/lib -L/home/kfogel/src/subversion/subversion/libsvn_fs/.libs -L/home/kfogel/src/subversion/subversion/libsvn_repos/.libs -L/home/kfogel/src/subversion/neon/src/.libs -L/usr/local/lib -lsvn_ra_dav -lneon -lz -lsvn_ra_local -lsvn_repos -lsvn_fs -ldb -lm -lcrypt -lnsl -ldl       -Wl,-soname -Wl,libsvn_ra.so.0 -o .libs/libsvn_ra.so.0.0.0
> >    /usr/bin/ld: cannot find -lsvn_ra_dav
> >    collect2: ld returned 1 exit status
> >    libtool: install: error: relink `libsvn_ra.la' with the above command before installing it
> 
> It looks like libtool is not working correctly.  I don't
> have 'U' appended to library name and have no link error.  I
> think 'U' is the cause of the problem but I don't know why
> it occurs and I don't know how to fix it. :-(
> 
> cd subversion/libsvn_ra ; /bin/sh /home/penny/work/tmp/svn/libtool --mode=install /home/penny/work/tmp/svn/ac-helpers/install-sh -c libsvn_ra.la /usr/local/lib/libsvn_ra.la
> libtool: install: warning: relinking `libsvn_ra.la'
> cd /home/penny/work/tmp/svn/subversion/libsvn_ra; /bin/sh /home/penny/work/tmp/svn/libtool --mode=relink gcc -DLINUX=2 -D_REENTRANT -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_SVID_SOURCE -g -g -Wall -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -pthread -DNEON_ZLIB -Wpointer-arith -Wwrite-strings -Wshadow -DSVN_DEBUG -DAP_DEBUG -I./subversion/include -I. -I/include -I/home/penny/work/tmp/svn/neon/src -I./expat-lite -I/usr/local/BerkeleyDB.3.3/include -rpath /usr/local/lib -o libsvn_ra.la ra_loader.lo /home/penny/work/tmp/svn/subversion/libsvn_ra_dav/libsvn_ra_dav.la /home/penny/work/tmp/svn/neon/src/libneon.la -L/usr/local/lib -lz /home/penny/work/tmp/svn/subversion/libsvn_ra_local/libsvn_ra_local.la /home/penny/work/tmp/svn/subversion/libsvn_repos/libsvn_repos.la /home/penny/work/tmp/svn/subversion/libsvn_fs/libsvn_fs.la -L/usr/local/BerkeleyDB.3.3/lib -ldb -lm -lcrypt -lnsl -ldl
> gcc -shared  ra_loader.lo  -Wl,--rpath -Wl,/usr/local/lib  -L/home/penny/work/tmp/svn/subversion/libsvn_subr/.libs -L/home/penny/work/tmp/svn/subversion/libsvn_delta/.libs -L/usr/local/BerkeleyDB.3.3/lib -L/home/penny/work/tmp/svn/subversion/libsvn_fs/.libs -L/home/penny/work/tmp/svn/subversion/libsvn_repos/.libs -L/home/penny/work/tmp/svn/neon/src/.libs -L/usr/local/lib -lsvn_ra_dav -lneon -lz -lsvn_ra_local -lsvn_repos -lsvn_fs -ldb -lm -lcrypt -lnsl -ldl       -Wl,-soname -Wl,libsvn_ra.so.0 -o .libs/libsvn_ra.so.0.0.0
> /home/penny/work/tmp/svn/ac-helpers/install-sh -c .libs/libsvn_ra.so.0.0.0T /usr/local/lib/libsvn_ra.so.0.0.0
> (cd /usr/local/lib && rm -f libsvn_ra.so.0 && ln -s libsvn_ra.so.0.0.0 libsvn_ra.so.0)
> (cd /usr/local/lib && rm -f libsvn_ra.so && ln -s libsvn_ra.so.0.0.0 libsvn_ra.so)
> /home/penny/work/tmp/svn/ac-helpers/install-sh -c .libs/libsvn_ra.lai /usr/local/lib/libsvn_ra.la
> /home/penny/work/tmp/svn/ac-helpers/install-sh -c .libs/libsvn_ra.a /usr/local/lib/libsvn_ra.a
> ranlib /usr/local/lib/libsvn_ra.a
> chmod 644 /usr/local/lib/libsvn_ra.a
> 
> > Okay, now we get ra_dav, but still no ra_local.  We've seen this
> > phenomenon before, where ra_local doesn't get included in a shared
> > build, but I can't remember the cause.  Does anyone recall?
> 
> The only cause I remember is that the BerkelyDB library is
> not on your LD_LIBRARY_PATH or /etc/ld.so.conf but it's not
> likely in your environment.
> 
> >    floss$ libtool --version
> >    ltmain.sh (GNU libtool) 1.4.2 (1.922.2.53 2001/09/11 03:18:52)
> >    floss$ autoconf --version
> >    autoconf (GNU Autoconf) 2.52
> >    [...]
> >    floss$ 
> 
> Hmm.  I'm using exactly the same tool (Debian unstable,
> right?).  Weird.
> 
> [penny@u svn]$ libtool --version
> ltmain.sh (GNU libtool) 1.4.2 (1.922.2.53 2001/09/11 03:18:52)
> [penny@u svn]$ autoconf --version
> autoconf (GNU Autoconf) 2.52
> [...]
> 
> 

-- 
David Wayne Summers          "Linux: Because reboots are for upgrades!"
david@summersoft.fay.ar.us   PGP Key: http://summersoft.fay.ar.us/~david/pgp.txt
PGP Key fingerprint =  C0 E0 4F 50 DD A9 B6 2B  60 A1 31 7E D2 28 6D A8 


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

Re: shared build problems

Posted by Yoshiki Hayashi <yo...@xemacs.org>.
Karl Fogel <kf...@newton.ch.collab.net> writes:

> This is long, but if you understand our configuration system and
> libtool pretty well, please read the whole thing -- your expertise is
> needed. :-)

I don't think I'm of much help since all I can say is it
works here, but I'll try anyway. :-)

>    floss$ su
>    floss# /usr/local/bin/cleanup.sh
>       [... this cleans libsvn_*, etc, out of /usr/local/lib ...]
>    floss# exit
>    floss$ cd top-of-my-subversion-working-copy
>    floss$ svn up
>    floss$ make distclean
>    floss$ ./autogen.sh
>    floss$ ./configure --enable-maintainer-mode  \
>                       --with-berkeley-db=/usr/local/BerkeleyDB.3.3
>    floss$ make

I followed the same course to build svn and it still works
for me.  I checked out fresh copy of Subversion tree and
manually applied --enable-dso patch.

> Only ra_dav libraries were installed; no ra, no ra_local.  Where are
> they?  Let's ask the working copy:
> 
>    floss$ ls -l subversion/libsvn_ra/.libs
>       [... output abbreviated for readability ...]
>    total 88
>    -rw-r--r--       38596  libsvn_ra.a
>    lrwxrwxrwx          15  libsvn_ra.la -> ../libsvn_ra.la
>    -rw-r--r--        1012  libsvn_ra.lai
>    lrwxrwxrwx          18  libsvn_ra.so -> libsvn_ra.so.0.0.0
>    lrwxrwxrwx          18  libsvn_ra.so.0 -> libsvn_ra.so.0.0.0
>    -rwxr-xr-x       43424  libsvn_ra.so.0.0.0U*
>    floss$ ls -l subversion/libsvn_ra_local/.libs
>       [... output abbreviated for readability ...]
>    total 268
>    -rw-r--r--      173500  libsvn_ra_local.a
>    lrwxrwxrwx          21  libsvn_ra_local.la -> ../libsvn_ra_local.la
>    -rw-r--r--         941  libsvn_ra_local.lai
>    lrwxrwxrwx          24  libsvn_ra_local.so -> libsvn_ra_local.so.0.0.0
>    lrwxrwxrwx          24  libsvn_ra_local.so.0 -> libsvn_ra_local.so.0.0.0
>    -rwxr-xr-x       85957  libsvn_ra_local.so.0.0.0U*
> 
> Well, those symbolic links look messed up -- they're pointing to
> .so.0.0.0 files that don't exist.  There are those files with "U"
> appended to their names; not sure what that's about.  Maybe this is
> all proper libtool behavior, and I just am not sufficiently familiar
> with it to know?

I get this:

[penny@u svn]$ ls -l subversion/libsvn_ra/.libs/
total 95
-rw-rw-r--    44532 Nov 26 16:53 libsvn_ra.a
lrwxrwxrwx       15 Nov 26 16:53 libsvn_ra.la -> ../libsvn_ra.la
-rw-rw-r--     1022 Nov 26 16:53 libsvn_ra.lai
lrwxrwxrwx       18 Nov 26 16:53 libsvn_ra.so -> libsvn_ra.so.0.0.0
lrwxrwxrwx       18 Nov 26 16:53 libsvn_ra.so.0 -> libsvn_ra.so.0.0.0
-rwxrwxr-x    48752 Nov 26 16:53 libsvn_ra.so.0.0.0

> --------------------------------------------------------------------------
> For plain ra:
> --------------------------------------------------------------------------
> 
>    cd subversion/libsvn_ra ; /bin/sh /home/kfogel/src/subversion/libtool --mode=install /home/kfogel/src/subversion/ac-helpers/install-sh -c libsvn_ra.la /usr/local/lib/libsvn_ra.la
>    libtool: install: warning: relinking `libsvn_ra.la'
>    cd /home/kfogel/src/subversion/subversion/libsvn_ra; /bin/sh /home/kfogel/src/subversion/libtool --mode=relink gcc -DLINUX=2 -D_REENTRANT -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_SVID_SOURCE -g -g -Wall -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -pthread -DNEON_ZLIB -Wpointer-arith -Wwrite-strings -Wshadow -DSVN_DEBUG -DAP_DEBUG -I./subversion/include -I. -I/home/kfogel/src/subversion/apr/include -I/include -I/home/kfogel/src/subversion/neon/src -I./expat-lite -I/usr/local/BerkeleyDB.3.3/include -rpath /usr/local/lib -o libsvn_ra.la ra_loader.lo /home/kfogel/src/subversion/subversion/libsvn_ra_dav/libsvn_ra_dav.la /home/kfogel/src/subversion/neon/src/libneon.la -L/usr/local/lib -lz /home/kfogel/src/subversion/subversion/libsvn_ra_local/libsvn_ra_local.la /home/kfogel/src/subversion/subversion/libsvn_repos/libsvn_repos.la /home/kfogel/src/subversion/subversion/libsvn_fs/libsvn_fs.la -L/usr/local/BerkeleyDB.3.3/lib -ldb -lm -lcrypt -lnsl -ldl
>    gcc -shared  ra_loader.lo  -Wl,--rpath -Wl,/usr/local/lib  -L/home/kfogel/src/subversion/subversion/libsvn_subr/.libs -L/home/kfogel/src/subversion/subversion/libsvn_delta/.libs -L/usr/local/BerkeleyDB.3.3/lib -L/home/kfogel/src/subversion/subversion/libsvn_fs/.libs -L/home/kfogel/src/subversion/subversion/libsvn_repos/.libs -L/home/kfogel/src/subversion/neon/src/.libs -L/usr/local/lib -lsvn_ra_dav -lneon -lz -lsvn_ra_local -lsvn_repos -lsvn_fs -ldb -lm -lcrypt -lnsl -ldl       -Wl,-soname -Wl,libsvn_ra.so.0 -o .libs/libsvn_ra.so.0.0.0
>    /usr/bin/ld: cannot find -lsvn_ra_dav
>    collect2: ld returned 1 exit status
>    libtool: install: error: relink `libsvn_ra.la' with the above command before installing it

It looks like libtool is not working correctly.  I don't
have 'U' appended to library name and have no link error.  I
think 'U' is the cause of the problem but I don't know why
it occurs and I don't know how to fix it. :-(

cd subversion/libsvn_ra ; /bin/sh /home/penny/work/tmp/svn/libtool --mode=install /home/penny/work/tmp/svn/ac-helpers/install-sh -c libsvn_ra.la /usr/local/lib/libsvn_ra.la
libtool: install: warning: relinking `libsvn_ra.la'
cd /home/penny/work/tmp/svn/subversion/libsvn_ra; /bin/sh /home/penny/work/tmp/svn/libtool --mode=relink gcc -DLINUX=2 -D_REENTRANT -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_SVID_SOURCE -g -g -Wall -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -pthread -DNEON_ZLIB -Wpointer-arith -Wwrite-strings -Wshadow -DSVN_DEBUG -DAP_DEBUG -I./subversion/include -I. -I/include -I/home/penny/work/tmp/svn/neon/src -I./expat-lite -I/usr/local/BerkeleyDB.3.3/include -rpath /usr/local/lib -o libsvn_ra.la ra_loader.lo /home/penny/work/tmp/svn/subversion/libsvn_ra_dav/libsvn_ra_dav.la /home/penny/work/tmp/svn/neon/src/libneon.la -L/usr/local/lib -lz /home/penny/work/tmp/svn/subversion/libsvn_ra_local/libsvn_ra_local.la /home/penny/work/tmp/svn/subversion/libsvn_repos/libsvn_repos.la /home/penny/work/tmp/svn/subversion/libsvn_fs/libsvn_fs.la -L/usr/local/BerkeleyDB.3.3/lib -ldb -lm -lcrypt -lnsl -ldl
gcc -shared  ra_loader.lo  -Wl,--rpath -Wl,/usr/local/lib  -L/home/penny/work/tmp/svn/subversion/libsvn_subr/.libs -L/home/penny/work/tmp/svn/subversion/libsvn_delta/.libs -L/usr/local/BerkeleyDB.3.3/lib -L/home/penny/work/tmp/svn/subversion/libsvn_fs/.libs -L/home/penny/work/tmp/svn/subversion/libsvn_repos/.libs -L/home/penny/work/tmp/svn/neon/src/.libs -L/usr/local/lib -lsvn_ra_dav -lneon -lz -lsvn_ra_local -lsvn_repos -lsvn_fs -ldb -lm -lcrypt -lnsl -ldl       -Wl,-soname -Wl,libsvn_ra.so.0 -o .libs/libsvn_ra.so.0.0.0
/home/penny/work/tmp/svn/ac-helpers/install-sh -c .libs/libsvn_ra.so.0.0.0T /usr/local/lib/libsvn_ra.so.0.0.0
(cd /usr/local/lib && rm -f libsvn_ra.so.0 && ln -s libsvn_ra.so.0.0.0 libsvn_ra.so.0)
(cd /usr/local/lib && rm -f libsvn_ra.so && ln -s libsvn_ra.so.0.0.0 libsvn_ra.so)
/home/penny/work/tmp/svn/ac-helpers/install-sh -c .libs/libsvn_ra.lai /usr/local/lib/libsvn_ra.la
/home/penny/work/tmp/svn/ac-helpers/install-sh -c .libs/libsvn_ra.a /usr/local/lib/libsvn_ra.a
ranlib /usr/local/lib/libsvn_ra.a
chmod 644 /usr/local/lib/libsvn_ra.a

> Okay, now we get ra_dav, but still no ra_local.  We've seen this
> phenomenon before, where ra_local doesn't get included in a shared
> build, but I can't remember the cause.  Does anyone recall?

The only cause I remember is that the BerkelyDB library is
not on your LD_LIBRARY_PATH or /etc/ld.so.conf but it's not
likely in your environment.

>    floss$ libtool --version
>    ltmain.sh (GNU libtool) 1.4.2 (1.922.2.53 2001/09/11 03:18:52)
>    floss$ autoconf --version
>    autoconf (GNU Autoconf) 2.52
>    [...]
>    floss$ 

Hmm.  I'm using exactly the same tool (Debian unstable,
right?).  Weird.

[penny@u svn]$ libtool --version
ltmain.sh (GNU libtool) 1.4.2 (1.922.2.53 2001/09/11 03:18:52)
[penny@u svn]$ autoconf --version
autoconf (GNU Autoconf) 2.52
[...]

-- 
Yoshiki Hayashi

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