Bug 420

Summary: X fails to build because of fontconfig
Product: xorg Reporter: John Hixson <divine_dj>
Component: Build/MonolithicAssignee: Xorg Project Team <xorg-team>
Status: RESOLVED INVALID QA Contact:
Severity: critical    
Priority: high CC: carl
Version: 6.7.0   
Hardware: x86 (IA32)   
OS: FreeBSD   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
patch to X11.tmpl in order to build with freetype in /usr/X11R6 none

Description John Hixson 2004-04-07 15:34:02 UTC
X will die with the following error(s),

In file included from /usr/include/stdlib.h:40,
                 from ../../extras/fontconfig/src/fcint.h:28,
                 from fcatomic.c:50:
/usr/include/sys/cdefs.h:273: warning: `_POSIX_C_SOURCE' is not defined
/usr/include/sys/cdefs.h:279: warning: `_POSIX_C_SOURCE' is not defined
In file included from ../../extras/fontconfig/src/fcint.h:39,
                 from fcatomic.c:50:
../../exports/include/fontconfig/fcfreetype.h:27: ft2build.h: No such file or
directory
../../exports/include/fontconfig/fcfreetype.h:28: `#include' expects "FILENAME"
or <FILENAME>
Comment 1 John Hixson 2004-04-07 22:48:22 UTC
sorry, this happens on a FreeBSD 4.9-STABLE box, freetype and fontconfig give me
hell, rather i specify to use them or not, the build still fails with the errors.
Comment 2 rtuck99 2004-04-18 03:38:00 UTC
Hi,

I am having similar problems - I have freetype 2.1.7 and fontconfig-2.2.2 already installed in /usr/
X11R6 - when I compile with the default configuration (on linux) I get
gcc -c -O2 -fno-strength-reduce  -ansi -pedantic -Wall -Wpointer-arith -Wundef   -I/usr/include/
freetype2 -I/usr/include/freetype2/config -I../../extras/fontconfig/src         -I../../extras/fontconfig 
-I../../exports/include/X11  -I../.. -I../../exports/include   -Dlinux -D__i386__ 
-D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE -D_XOPEN_SOURCE -D_BSD_SOURCE 
-D_SVID_SOURCE  -D_GNU_SOURCE   -DFUNCPROTO=15 -DNARROWPROTO -DXTHREADS  
-D_REENTRANT -DXUSE_MTSAFE_API    -DFC_DEFAULT_FONTS='""' -DHAVE_EXPAT -DXFREE86_FT2       
-DFONTCONFIG_PATH='"/etc/fonts"'  -DXVENDORNAME='"The X.Org Foundation"' 
-DXVENDORNAMESHORT='"X.Org"'    -fPIC fcatomic.c
In file included from ../../extras/fontconfig/src/fcint.h:39,
                 from fcatomic.c:50:
../../extras/fontconfig/fontconfig/fcfreetype.h:27:22: ft2build.h: No such file or directory
../../extras/fontconfig/fontconfig/fcfreetype.h:28:10: #include expects "FILENAME" or <FILENAME>
In file included from ../../extras/fontconfig/src/fcint.h:39,
                 from fcatomic.c:50:
../../extras/fontconfig/fontconfig/fcfreetype.h:31: parse error before "FcFreeTypeCharIndex"

It looks as though Xorg expects them to be installed in /usr and it doesn't bother to check freetype-
config to see where they really are.
Comment 3 Alan Coopersmith 2004-04-18 03:54:23 UTC
Try adding lines like this to xc/config/cf/host.def to change where it looks
for preinstalled versions of FreeType & FontConfig:
#define Freetype2Dir /usr/X11R6
#define FontconfigDir /usr/X11R6

See the section for these in xc/config/cf/X11.tmpl if you need finer control
over where it looks for libs & headers than just looking in the lib & include
subdirs of the dirs listed.
Comment 4 rtuck99 2004-04-18 04:21:29 UTC
I think I have part of the problem:

ft2build.h resides in /usr/X11R6/include, not /usr/X11R6/include/freetype2

I think adding this to FREETYPE2INCLUDES in X11.tmpl should fix this - will report back if it works.

Comment 5 rtuck99 2004-04-18 19:16:41 UTC
Created attachment 210 [details] [review]
patch to X11.tmpl in order to build with freetype in /usr/X11R6

Hi,

attached is the patch I applied to get X11R6.70 to build on my system. I didn't
change the host.def. You may need to change Freetype2Dir to taste...
Other things I did was remove all old copies of libfreetype.a from my
/usr/X11R6/lib and /usr/X11R6/lib/modules/fonts directories (these were causing
duplicate symbol errors when running X)
According to the RELNOTES there isn't any need to mess around with fontconfig
and it seems this is accurate as I have had no problems with it.
Comment 6 Egbert Eich 2004-05-07 03:49:34 UTC
*** Bug 598 has been marked as a duplicate of this bug. ***
Comment 7 Egbert Eich 2004-05-07 03:54:21 UTC
You must either install the development packages of libfreetype
or set
#define HasFreetype2 NO
in config/cf/host.def.
With the latest CVS sources this is required if you have 2.1.7 as we 
now depend on a feature introduced in 2.1.8.

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.