You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Bruce Bye <br...@realvnc.com> on 2015/05/15 13:38:02 UTC

Subversion configure script broken for serf if sysroot path contains "-D"

Hi,

If you attempt to cross-compile subversion with a sysroot path containing "-D", blame.c will fail to compile, failing to find serf.h.

The root cause is this line in serf.m4:
          SVN_SERF_INCLUDES=[`$PKG_CONFIG $serf_major --cflags | $SED -e 's/-D[^ ]*//g'`]

I assume the intention is simply to strip any pre-compile defines from the cflags returned by pkg-config, but the regex is too aggressive.

This was observed in subversion 1.8.9, doing a Yocto build on Linux, but a code inspection of 1.8.13 suggests the issue is still there and it doesn't look especially platform sensitive.

Repro steps:
Set-up a Yocto environment in a path such as '/home/user/Dev-Demo'. Then run "bitbake subversion-native".

Regards,
Bruce

Re: Subversion configure script broken for serf if sysroot path contains "-D"

Posted by Branko Čibej <br...@wandisco.com>.
On 15.05.2015 13:38, Bruce Bye wrote:
> Hi,
>
> If you attempt to cross-compile subversion with a sysroot path
> containing "-D", blame.c will fail to compile, failing to find serf.h.
>
> The root cause is this line in serf.m4:
>           SVN_SERF_INCLUDES=[`$PKG_CONFIG $serf_major --cflags | $SED
> -e 's/-D[^ ]*//g'`]
>
> I assume the intention is simply to strip any pre-compile defines from
> the cflags returned by pkg-config, but the regex is too aggressive.
>
> This was observed in subversion 1.8.9, doing a Yocto build on Linux,
> but a code inspection of 1.8.13 suggests the issue is still there and
> it doesn't look especially platform sensitive.
>
> Repro steps:
> Set-up a Yocto environment in a path such as '/home/user/Dev-Demo'.
> Then run "bitbake subversion-native".

I'm pretty sure no-one wants to set up a Yocto environment just to
reproduce this failure. :)

There's really no completely safe way to rewrite that regular
expression. But I think you can avoid even invoking it by passing
--with-serf=/path/to/serf/prefix to configure; if the Serf path is
provided, we won't invoke pkg-config.

Can you give that a try, please, and report the result?

-- Brane