[Pkg-cmake-team] Bug#959064: ignition-transport FTBFS in testing.

Benjamin Kaduk kaduk at mit.edu
Thu Apr 30 04:34:41 BST 2020


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



More information about the Pkg-cmake-team mailing list