[cairo] fontconfig compile error (was: Interesting Linux distribution problem)

Travis Griggs tgriggs at cincom.com
Mon Sep 28 23:39:43 PDT 2009


On Sep 28, 2009, at 3:02 PM, Jonathan Kew wrote:

> On 28 Sep 2009, at 22:08, Travis Griggs wrote:
>
>>
>> On Sep 28, 2009, at 12:07 PM, Mike Shaver wrote:
>>
>>> On Mon, Sep 28, 2009 at 10:27 AM, Travis Griggs <tgriggs at cincom.com>
>>> wrote:
>>>> The question really boils down to "how would you build/compile/
>>>> package/
>>>> distribute Cairo so that your Linux app can use it on as wide a
>>>> variety of Linux installs as possible?"
>>>
>>> Ship your own.  Doing otherwise exposes you to a mess of
>>> version-matrix support issues that really don't pay for themselves
>>> when it comes to the download savings.
>>
>> OK. Figured it was going to come to that. Behdad said the same thing
>> in IRC.
>>
>> Following that advice, I'm trying to compile fontconfig (managed to
>> get FreeType compiled, found one issue with it). I think some of the
>> same developers hang out here, so I apologize for asking somewhat off
>> topic. I can ask on a different list if someone points me at it.
>> Anyway, I'm trying to compile fontconfig in my own local directory
>> ($HOME/BuildCairo), set with --prefix at ./configure time. I also  
>> used
>> the --sysconfdir=/etc, If I didn't, it wanted to believe that the
>> FONTCONFIG_PATH was down in my BuildCairo directory. But I still  
>> get a
>> compile error of some sort. Not even sure exactly what's going wrong.
>> I see lots of warning, but am missing the actual error. I've copied
>> the output below my sig. Any help/hints greatly appreciated.
>>
>> The -DFC_CACHEDIR value seems like a Bad Thing, but maybe I just  
>> don't
>> understand it well enough...
>>
>
>
> I'm very far from being an expert on any of this, but FWIW... it  
> looks like you're getting lots of compile errors in fontconfig's  
> fcfreetype.c, and I wonder if the root cause of these is that you  
> have freetype 1 headers that are being found ahead of freetype 2 on  
> your system. I see -I/usr/include/freetype2 there in your command  
> line, but I don't know what else may be lying around....
>
> Also, you might want to consider linking with the system's  
> fontconfig library, even though you're compiling your own Cairo; if  
> you're prepared to assume that all Linux distros you're targeting  
> will have (some version of) fontconfig in a standard place, this may  
> be more reliable than using a private, static-linked copy which may  
> be incompatible with the configuration and font cache files  
> belonging to the system's fontconfig. Your users will not thank you  
> if your app stomps all over their system's font caches because  
> you're shipping a different fontconfig version; nor will they  
> appreciate it if you avoid this by using an entirely separate  
> configuration, thereby forcing them to "install" fonts twice.

I'm even farther from you than being an expert. :)

You may be right. I see libttf.so in /usr/lib. I see no libtruetype.  
So it appears to be a TT1 system. I don't see a libfontconfig in any  
of the normal lib places (/usr/lib or /usr/X11R6/lib). What does a  
system like this do?

Anyway, what am I looking at digging deeper into here and patching up?  
Run ./configure, and then go start hacking through Makefiles to get  
them to work correctly? Or is it somewhere more/less than this. I  
can't even get ./configure to run all the way through actually. I get an

configure: error: Cairo requires at least one native font backend.   
Please install FreeType and fontconfig and try again.

at the bottom

--
Travis Griggs
Objologist
What's next, Intel Processors branded with "Apple Outside" stickers?




More information about the cairo mailing list