$ pkg-config xft --modversion 2.2.0 $ pkg-config xft --print-requires xproto $ echo '#include <X11/Xft/Xft.h>' | gcc -xc -c -o/dev/null $(pkg-config xft) - 2>&1 | fgrep 'No such file or directory' /usr/include/X11/Xft/Xft.h:39:22: error: ft2build.h: No such file or directory /usr/include/X11/Xft/Xft.h:41:35: error: fontconfig/fontconfig.h: No such file or directory /usr/include/X11/Xft/Xft.h:42:36: error: X11/extensions/Xrender.h: No such file or directory Note that there is no static linking attempt at all, xft.pc just doesn't specify all necessary requirements. I believe this is a regression introduced by commit libXft-2.1.14-16-g8751e34 which stripped Requires in favour of Requires.private.
(In reply to comment #0) > $ echo '#include <X11/Xft/Xft.h>' | gcc -xc -c -o/dev/null $(pkg-config xft) - Doesn't that need to be "pkg-config --cflags xft"?
(In reply to comment #1) > (In reply to comment #0) > > $ echo '#include <X11/Xft/Xft.h>' | gcc -xc -c -o/dev/null $(pkg-config xft) - > > Doesn't that need to be "pkg-config --cflags xft"? It actually was "pkg-config --cflags xft" (without any difference, though, because its output is an empty string): $ pkg-config --cflags xft $ The problem here is that some headers required by X11/Xft/Xft.h are not installed because they are not required via xft.pc.
Similar issue arose in libXt recently, and it was resolved in https://bugs.freedesktop.org/show_bug.cgi?id=26943#c3 as a non-issue. Is there any legal way now for libXft callers to find out what packages have to be installed to #include <X11/Xft/Xft.h>?
(In reply to comment #3) > Is there any legal way now for libXft callers to find out what packages have to > be installed to #include <X11/Xft/Xft.h>? Use a non-broken version of pkg-config, as the correct behavior according to the FAQ is to include -I flags for Requires.private, and at least the version on my system correctly does that: % grep Requires /usr/X11R7/lib/pkgconfig/xft.pc Requires: xproto Requires.private: xrender, fontconfig, freetype2 % env PKG_CONFIG_PATH=/usr/X11R7/lib/pkgconfig pkg-config --cflags xft -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -I/usr/X11R7/include -I/usr/include/freetype2 % pkg-config --version 0.23 If you want to hold a discussion, please use the mailing list - bugzilla is not a very interactive forum, and questions raised here won't be seen by most developers.
(In reply to comment #4) > % grep Requires /usr/X11R7/lib/pkgconfig/xft.pc > Requires: xproto > Requires.private: xrender, fontconfig, freetype2 $ grep '^#include <X11/' /usr/include/X11/Xft/Xft.h #include <X11/extensions/Xrender.h> #include <X11/Xfuncproto.h> #include <X11/Xft/XftCompat.h> This is exactly the problem: according to X11/Xft/Xft.h, there is no difference between xproto and xrender -- both libraries are equally necessary to compile with libXft, so I'm sure both must be in Requires list. > If you want to hold a discussion, please use the mailing list - bugzilla > is not a very interactive forum, and questions raised here won't be seen > by most developers. What mailing list is more appropriate for this issue?
> --- Comment #5 from Dmitry V. Levin <ldv@altlinux.org> 2010-10-31 19:24:37 PDT --- > What mailing list is more appropriate for this issue? > http://lists.freedesktop.org/mailman/listinfo/pkg-config
*** Bug 31933 has been marked as a duplicate of this bug. ***
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.