Bugzilla – Bug 3951
FcFini not in older version of Fontconfig - no check for fc ver
Last modified: 2005-08-22 00:14:19 UTC
Two test source files call the FcFini() fontconfig function. This is available
in Fontconfig 2.3.0 and greater (http://fontconfig.org/fontconfig-devel/r162.html)
The cairo configure script does not check for fontconfig version.
Attached patch does this.
On Solaris 10, with Fontconfig 2.2.3, it will fail to configure because of no
available font backends. [I'll have to update fontconfig, though SunFreeWare.com
only has 2.2.98 :( ]
Created attachment 3211 [details] [review]
Proposed patch which fixes the logic
I don't think we want to turn off the freetype font backend just because
FcFini can't be found. FcFini is not used in the implementation of cairo
itself, and it's really only relevant to the check-valgrind target of the
tests, (which isn't much help on Salris anyway).
Instead, what I would like to see is after a successful check for the
presence of fontconfig, there should be a check for the existence of the
FcFini function, (either by fontconfig version or via AC_CHECK_FUNCS).
Then the call to FcFini can be made conditional.
A similar approach is already used with a similar cleanup function in
the Xlib backend. See the XrmFinalize check in configure.in and the
call conditioned on HAVE_XRMFINALIZE. Note that if we copy that check
that we should abstract the save_CFLAGS and save_LIBS stuff into a new
I leave it to your better judgement. As a build engineer I mainly focus on
getting stuff built - I'm not too bother if it doesn't work ;-)
As a local interim solution, while I work on building fontconfig 2.3.0, I can
#ifdef the FcFini calls out so that I am not blocked.
*** Bug 3966 has been marked as a duplicate of this bug. ***
Created attachment 3236 [details]
Here's a patch that allows things to build just fine with an old fontconfig
by checking explicitly for the FcFini function and only calling it if it
I've committed that patch now. Please try it from CVS or from the patch
here and let me know if you still have any problems.
Move bugs against "cvs" version to "0.9.3" so we can remove the "cvs" version.