Hi, (This is part of a collection of patches and workarounds I have for consideration for problems in the build process in current cvs. I'll just briefly describe each patch(-set) below, and if needed will put them into bugzilla separately with more details.) 1. Building against fontconfig-2.4.2 (latest release) causes two missing symbols when linking libXft. Build Log snip: >>>> [...] ld: Undefined symbols: _FcPatternFindElt _FcPatternInsertElt /usr/bin/libtool: internal link edit command failed <<<< To recreate: a) build and install fontconfig-2.4.2 b) specify these in your [build/]config/cf/host.def file: #define HasFontconfig YES #define FontconfigDir /usr/local (or wherever you installed fontconfig) Discussion: There are two API functions that have been renamed in recent versions of fontconfig, while their ABI (parms passed, header layouts, etc.) remain the same. Chiefly what we need to do in xf86's source: s/FcPatternFindElt/FcPatternObjectFindElt/ s/FcPatternInsertElt/FcPatternObjectInsertElt/ I don't know enough how to insert #ifdefs that will test the installed fontconfig's version criteria, so that we could make xf86 compilable on old-and-new versions. I did find the commit that made this change: <http://lists.freedesktop.org/archives/fontconfig/2006-August/002381.html> ...but still not sure what was the "switchover" point for this commit, i.e. the version-rel-mod-patch level to use for #ifdefs to decide after which point to use the new function names. I hope you know what I mean. ;) For now, a quick patch to fix this: >>>>-cut->>>> --- xc/lib/Xft1/xftint.h_orig 2002-06-30 23:28:17 -0500 +++ xc/lib/Xft1/xftint.h 2007-04-06 08:17:55 -0500 @@ -92,10 +92,10 @@ * Yes, these are stolen from fcint.h */ FcPatternElt * -FcPatternFindElt (const FcPattern *p, const char *object); +FcPatternObjectFindElt (const FcPattern *p, const char *object); FcPatternElt * -FcPatternInsertElt (FcPattern *p, const char *object); +FcPatternObjectInsertElt (FcPattern *p, const char *object); typedef FcPatternElt XftPatternElt; --- xc/lib/Xft1/xftpat.c_orig 2002-06-07 18:44:23 -0500 +++ xc/lib/Xft1/xftpat.c 2007-04-06 08:18:45 -0500 @@ -210,9 +210,9 @@ XftPatternFind (XftPattern *p, const char *object, FcBool insert) { if (insert) - return FcPatternInsertElt (p, object); + return FcPatternObjectInsertElt (p, object); else - return FcPatternFindElt (p, object); + return FcPatternObjectFindElt (p, object); } <<<<-cut-<<<< We should not blindly apply this patch to cvs because it would then fail for most systems that have pre-August-2006 versions of fontconfig. Instead, we should add #ifdefs to xf86 that check the installed fontconfig's version and then decide to use the new function names. But I don't quite know how to do this rightly. Using a current release of fontconfig will bring in a lot of fixes in that area, which is enough of a reason to consider it. Thanks for any help. :) _______________________________________________ Devel mailing list Devel@xxxxxxxxxxx http://XFree86.Org/mailman/listinfo/devel