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