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

Re: svn commit: r38120 - in trunk: . build/ac-macros subversion/bindings/swig/perl/native

From: Arfrever Frehtes Taifersar Arahesis <Arfrever.FTA_at_GMail.Com>
Date: Sun, 21 Jun 2009 03:40:27 +0200

2009-06-21 03:17:53 Hyrum K. Wright napisał(a):
>
> On Jun 20, 2009, at 8:10 PM, Arfrever Frehtes Taifersar Arahesis wrote:
>
> > 2009-06-21 02:44:45 Bert Huijben napisał(a):
> >>> -----Original Message-----
> >>> From: Arfrever Frehtes Taifersar Arahesis
> >>> [mailto:Arfrever.FTA_at_GMail.Com]
> >>> Sent: zaterdag 20 juni 2009 22:15
> >>> To: svn_at_subversion.tigris.org
> >>> Subject: svn commit: r38120 - in trunk: . build/ac-macros
> >>> subversion/bindings/swig/perl/native
> >>>
> >>> Author: arfrever
> >>> Date: Sat Jun 20 13:14:53 2009
> >>> New Revision: 38120
> >>>
> >>> Log:
> >>> Try to avoid linking against unused libraries.
> >>> Libraries printed by `apr-1-config --libs` / `apu-1-config --libs`
> >>> might be
> >>> needed only for static linking.
> >>
> >> I think this patch caused the builds on the mac-buildbot to fail
> >> (it can't
> >> find expat any more).
> >> See http://crest.ics.uci.edu/buildbot/waterfall
> >
> > It's a bug in configuration of this buildbot.
> > I checked log of build 790 and I think that this buildbot should
> > pass the following option to `configure` script of Subversion:
> >
> > --with-expat=/Users/lgo/slavedir/osx10.4-gcc4.0.1-ia32/build/apr-
> > util/xml/expat/lib:/Users/lgo/slavedir/osx10.4-gcc4.0.1-ia32/build/
> > apr-util/xml/expat/lib:expat
>
> If expat was being found just fine before r38120

It was being found only because APR-Util was accidentally linked against Expat
and apu-1-config was providing path to Expat directory which was used during
building of APR-Util.

> what's the point of now requiring configure to be explicitly told about it?

`apr-1-config --libs` and `apu-1-config --libs` (similarly to discouraged
`neon-config --libs`) print many libraries which aren't directly used by
Subversion (e.g. libraries belonging to e2fsprogs-libs, OpenLDAP, GDBM, MySQL,
PostgreSQL etc.). It can cause (almost always causes) that Subversion libraries
will be needlessly linked against these unneeded libraries.

For example, if a user first builds APR-Util with support for OpenLDAP and
builds Subversion, but next decides to uninstall OpenLDAP, libraries belonging
to both APR-Util and Subversion will be still linked against OpenLDAP libraries
(libldap.so and liblber.so), and this user will have to rebuild both APR-Util
and Subversion to be able to use Subversion. Before rebuilding Subversion,
this user will get e.g.:
svn: error while loading shared libraries: libldap.so: cannot open shared object file: No such file or directory

On my system:
$ apr-1-config --libs
 -luuid -lrt -lcrypt -lpthread -ldl
$ apu-1-config --libs
 -lldap -llber -llber -ldb-4.7 -lgdbm -lexpat

> Seems like a regression in functionality to me...

Actually it's an enhancement :) .

-- 
Arfrever Frehtes Taifersar Arahesis

Received on 2009-06-21 03:40:09 CEST

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.