pango 1.2.0 relies on fontconfig.h to provide FC_HINT_* constants. If the build system has a /usr/X11R6/include/fontconfig/fontconfig.h, this file is used rather than /usr/include/fontconfig/fontconfig.h . The X11R6 version does not have the FC_HINT_* constants, and the build fails. /usr/X11R6/include/fontconfig/fontconfig.h appears to be an X11 builtin fontconfig header, not from the fcpackage source. Reproducible: Always Steps to Reproduce: 1. emerge xfree 2. emerge pango 3. Actual Results: The above steps to reproduce are theoretical, but should result in the failure of the pango 1.2.0 ebuild. It is my belief that if a user does 'emerge xfree' instead of 'emerge kde', 'emerge gnome', or 'emerge <insert wm here>', then fontconfig is not listed as a dependency and is not installed, so xfree uses an internal version of fontconfig. Expected Results: pango should build =) Portage 2.0.46-r9 (default-x86-1.4, gcc-3.2.1, glibc-2.3.1-r2) ================================================================= System uname: 2.4.19-gentoo-r10 i686 Intel(R) Pentium(R) 4 CPU 2.00GHz GENTOO_MIRRORS="ftp://ftp.gtlib.cc.gatech.edu/pub/gentoo http://gentoo.oregonstate.edu ftp://ftp.oregonstate.edu/pub/gentoo " CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3/share/config /usr/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" PORTDIR="/usr/portage" DISTDIR="/usr/portage/distfiles" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR_OVERLAY="" USE="x86 oss 3dnow apm avi crypt cups encode gif jpeg libg++ libwww mikmod mmx mpeg ncurses nls pdflib png qtmt quicktime spell truetype xml2 xmms xv zlib gdbm berkdb slang readline arts svga ggi tcltk java sdl tcpd ssl perl python esd imlib oggvorbis qt motif opengl cdr X xft xft2 gtk gtk2 -gnome alsa kde dvd -gpm pam" COMPILER="gcc3" CHOST="i686-pc-linux-gnu" CFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer -fforce-addr -falign-functions=4 -fprefetch-loop-arrays" CXXFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer -fforce-addr -falign-functions=4 -fprefetch-loop-arrays" ACCEPT_KEYWORDS="x86" MAKEOPTS="-j2" AUTOCLEAN="yes" SYNC="rsync://rsync.gentoo.org/gentoo-portage" FEATURES="sandbox ccache"
Well, it's not true that if you 'emerge xfree' it skips fontconfig,so that theory's gone. Also, I looked over my 'emerge info' - the CFLAGS there are new, I've been running CFLAGS="-O3 -pipe" for everything I've built thus far.
I confirm this bug. Thanks for pointing out the extra fonconfig dir that was blocking the preferred one. I blew away the X fontconfig dir and built without incident.
foser, you're more into fontconfig than i am.. any comment?
what package owns /usr/X11R6/include/fontconfig/fontconfig.h ? (use qpkg -f ) i suppose it's xfree, what exact xfree version are you using ?
qpkg -f /use/X11R6/lib/X11/include/fontconfig/fontconfig.h shows no ownership at all. Ditto for the fontconfig directory itself. The box started with x11-base/xfree/xfree-4.2.1 It was upgraded to -r1, then upgraded to x11-base/xfree/xfree-4.2.99.3 I'd say it has to be one of those builds.
Oh I hate it when I don't proofread well enough. the path used for qpkg -f was /usr/X11R6/lib/X11/include/fontconfig The "/use" was a typo. Sorry.
I've found this same problem, but in my case it was caused by the fact that I had built freetype-2.1.3 without the slighthint patch. Building it again with the patch re-added fixed it. Since fontconfig-2.1 also has a related patch, this could be the case here, too.
FYI. Ran into this updating world since Nov. 2002. All I had to do was rebuild freetype 2.1.2-r2. No changes were made to the ebuild.
The /usr/X11R6/fontconfig stuff shouldn't be there (and it isn't owned). I'm not sure what happened (can be a number of things : slots/portage/etc problem), but if it is removed (and it shouldn't be there) you should be fine. It is indeed btw that fontconfig version (whatever it got installed by) missing the slighthint patching.
I have this problem on two hosts now. I think the problem is caused because freetype2 and old freetype1 are installed concurently (actually two copies of freetype1 headers: one in portage and other under xfree). I know I've seen similar problem on other platforms and teh guy who maintains freetype found taht after some months. Those two versions clash together, anyway freetype1 shouldn't be needed. # emerge unmerge media-libs/freetype-1.3.1-r3 Needless to say, it still doesn't help me ... maybe I have to reinstall xfree ... Anyway, just a thought. The file /usr/X11R6/include/fontconfig/fontconfig.h comes from fontconfig1. Renaming the file /usr/X11R6/include/fontconfig/fontconfig.h helped me too. Maybe upgrading to xfree-4 will help (I think it uses freetype2).
the problem is -as described- not due to freetype, but due to having 2 versions of fontconfig headers around. That should never happen on a healthy system, so it's not a Gentoo problem afaics. You should just find & remove the incorrect fontconfig header files.
*** Bug 61153 has been marked as a duplicate of this bug. ***