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

Re: shared build problems

From: Karl Fogel <kfogel_at_newton.ch.collab.net>
Date: 2001-11-26 20:02:59 CET

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 <yoshiki@xemacs.org> writes:
> Karl Fogel <kfogel@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
Received on Sat Oct 21 14:36:49 2006

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