On Thu, Apr 30, 2020 at 03:40:30AM +0100, peter green wrote:
> On 29/04/2020 17:47, Jochen Sprickerhof wrote:
> >
> > What I found up to now:
> >
> > - pkg-config=0.29.2-1:
> >
> >   $ pkg-config --cflags-only-I libzmq
> >   -isystem /usr/include/mit-krb5 -I/usr/include/pgm-5.2
> >
> > - Whereas pkg-config=0.29-6 (or pkgconfig):
> >
> >   $ pkg-config --cflags-only-I libzmq
> >   -I/usr/include/pgm-5.2
> >
> > So the recent update of pkg-config has a new behaviour, introduced in
> >
> > https://bugs.freedesktop.org/show_bug.cgi?id=97337
> >
> So to clarify the situation as I now understand it (it took me a couple of 
> readings of the mail for it to sink in)
> 
> The behavior of pkg-config has changed so that --cflags-only-I now lets 
> through "-isystem" as well as "-I"
> 
> This lets though a -isystem parameter with a space which was previously 
> suppressed (not because it had a space but because it was a -isystem 
> parameter rather than a -I parameter)

I did not actually know that -isystem would still work with*out* the space!

> And the space in said parameter breaks cmake.
> 
> > Changing -isystem /usr/include/mit-krb5 to -isystem/usr/include/mit-krb5 
> > works in the .pc file(s) works around this but man gcc indicates that a 
> > space after -isystem seems fine as well.
> >
> Investigating further it seems that the use of -isystem in krb5 and the space 
> after it are the results of a Debian patch (upstream uses -I with no space). 
> So it seemed to me that the expedient way to fix the build failure was just 
> to change the krb5 patch and that this would actually reduce the delta from 
> upstream. I went ahead and did that in Raspbian. A debdiff should appear soon 
> at https://debdiffs.rapsbian.org/main/k/krb5/

FWIW we have to have this krb5 patch in Debian because we divide our
headers into krb5-multidev (which can coexist with the other major krb5
implementation, heimdal), and libkrb5-dev that installs symlinks in the
global location.  Our pkg-config files have to work with the -multidev
variant, which has the headers in a non-default path, but we still need
them treated as system headers, hence this patch.

I think it would be appropriate to open a wishlist bug against krb5 so we
remember to change this the next time we do an upload.

-Ben

Reply via email to