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

Re: OT: $SVN envvars Re: svn 1.8 debugging-compilation-serf-configure problem because of 1.6 Ubuntu install

From: Ben Reser <ben_at_reser.org>
Date: Mon, 4 Mar 2013 12:30:15 -0800

On Mon, Mar 4, 2013 at 10:43 AM, Gabriela Gibson
<gabriela.gibson_at_gmail.com> wrote:
> However, here is what happens for me:
>
> Steps to reproduce:
>
> svn co https://svn.apache.org/repos/asf/subversion/trunk trunk3
> cd trunk3
> ./get-deps.sh
> cd apr
> ./buildconf
> cd ../apr-util/
> ./buildconf
> cd ..
> ./autogen.sh
> ./configure --enable-maintainer-mode --with-serf=/usr/local/serf
>
> Error message:
>
> checking for inttypes.h... yes
> checking for stdint.h... yes
> checking for unistd.h... yes
> configure: serf library configuration via prefix
> checking serf.h usability... yes
> checking serf.h presence... yes
> checking for serf.h... yes
> checking for serf_context_create in -lserf-1... no
> configure: serf library configuration via pkg-config
> checking for serf-2 library... no
> checking for serf-1 library... no
> checking was serf enabled... no
>
> An appropriate version of serf could not be found, so libsvn_ra_serf
> will not be built. If you want to build libsvn_ra_serf, please
> install serf 1.2.0 or newer.
>
> configure: error: Serf was explicitly enabled but an appropriate version was
> not found.
> g_at_musashi:~/trunk3$

This is a symptom of the issue I mentioned in a previous email. There
are two ways of detecting serf:

1) The pkg-config utility. This method is used when no option is
passed or --with-serf is set to "yes". In order for this method to
work the serf .pc file must be someplace that the pkg-config utility
will look for it (usually I believe that pkg-config looks in
/usr/lib/pkgconfig or /usr/local/lib/pkgconfig however, this could
vary by configuration on individual distributions). You can add extra
directories to this by setting PKG_CONFIG_PATH environment variable.

2) By prefix directory. This method is used when you pass a prefix
path only. In this case pkg-config is not used. This method looks in
the prefix for an include/serf.h and tries to link to -lserf. The
problem with this is that these compile/link time flags are not
necessarily enough for some platforms (and sadly yes I think some
Linux distributions are one of those platforms).

In your case if you've installed serf in /usr/local/serf, I'd try
building without any --with-serf option or --with-serf=yes. Failing
that try the same build but with the following environment variable
set:
export PKG_CONFIG_PATH=/usr/local/serf/lib/pkgconfig

As I've mentioned before we should change the above behavior to try to
run pkg-config with PKG_CONFIG_PATH=$prefix/lib/pkgconfig in the case
of a prefix being passed to us first before trying to just guess at
the prefix.

I'll try to look at this later today.
Received on 2013-03-04 21:30:54 CET

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