Recent changes to use Freetype 2.1.8 (and higher)-only symbols has broken the build on many platforms, including FreeBSD and most peoples' Linux. We can't just use the 2.1.9 shipped with xorg due to conflicts with the local packaging system. At least FreeBSD is not updating to 2.1.9 because of concerns about rendering quality suffering 2.1.8+. The best solution would seem to be having a HasFreetype218 flag that defaults to off, and only use these symbols when that gets set. making all in lib/font/FreeType... make[5]: Entering directory `/home/carl/src/tinderclient/Test/xc/lib/font/FreeType' rm -f xttcap.o unshared/xttcap.o gcc -m32 -c -ansi -pedantic -Wall -Wpointer-arith -Wundef -I/usr/include/freetype2 -I/usr/include/freetype2/config -I. -I../../../include/fonts -I../include -I../../../exports/include/X11 -I../../../programs/Xserver/include -I../../../exports/include -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 -DGCCUSESGAS -DAVOID_GLYPHBLT -DPIXPRIV -DSINGLEDEPTH -DXFreeXDGA -DXvExtension -DXFree86LOADER -DXFree86Server -DXF86VIDMODE -DXvMCExtension -DSMART_SCHEDULE -DBUILDDEBUG -DXResExtension -DX_BYTE_ORDER=X_LITTLE_ENDIAN -DXORG_VERSION_CURRENT="(((6) * 10000000) + ((7) * 100000) + ((0) * 1000) + 0)" -DXFREE86_FT2 -O2 -fno-strength-reduce -fno-strict-aliasing xttcap.c -o unshared/xttcap.o rm -f xttcap.o gcc -m32 -c -O2 -fno-strength-reduce -fno-strict-aliasing -ansi -pedantic -Wall -Wpointer-arith -Wundef -I/usr/include/freetype2 -I/usr/include/freetype2/config -I. -I../../../include/fonts -I../include -I../../../exports/include/X11 -I../../../programs/Xserver/include -I../../../exports/include -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 -DGCCUSESGAS -DAVOID_GLYPHBLT -DPIXPRIV -DSINGLEDEPTH -DXFreeXDGA -DXvExtension -DXFree86LOADER -DXFree86Server -DXF86VIDMODE -DXvMCExtension -DSMART_SCHEDULE -DBUILDDEBUG -DXResExtension -DX_BYTE_ORDER=X_LITTLE_ENDIAN -DXORG_VERSION_CURRENT="(((6) * 10000000) + ((7) * 100000) + ((0) * 1000) + 0)" -DXFREE86_FT2 -fPIC xttcap.c rm -f ftfuncs.o unshared/ftfuncs.o gcc -m32 -c -ansi -pedantic -Wall -Wpointer-arith -Wundef -I/usr/include/freetype2 -I/usr/include/freetype2/config -I. -I../../../include/fonts -I../include -I../../../exports/include/X11 -I../../../programs/Xserver/include -I../../../exports/include -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 -DGCCUSESGAS -DAVOID_GLYPHBLT -DPIXPRIV -DSINGLEDEPTH -DXFreeXDGA -DXvExtension -DXFree86LOADER -DXFree86Server -DXF86VIDMODE -DXvMCExtension -DSMART_SCHEDULE -DBUILDDEBUG -DXResExtension -DX_BYTE_ORDER=X_LITTLE_ENDIAN -DXORG_VERSION_CURRENT="(((6) * 10000000) + ((7) * 100000) + ((0) * 1000) + 0)" -DXFREE86_FT2 -O2 -fno-strength-reduce -fno-strict-aliasing ftfuncs.c -o unshared/ftfuncs.o ftfuncs.c: In function `FT_Do_SBit_Metrics': ftfuncs.c:931: error: structure has no member named `find_sbit_image' ftfuncs.c:955: error: structure has no member named `load_sbit_metrics' make[5]: *** [ftfuncs.o] Error 1 make[5]: Leaving directory `/home/carl/src/tinderclient/Test/xc/lib/font/FreeType' make[4]: *** [FreeType] Error 2 make[4]: Leaving directory `/home/carl/src/tinderclient/Test/xc/lib/font' make[3]: *** [all] Error 2 make[3]: Leaving directory `/home/carl/src/tinderclient/Test/xc/lib' make[2]: *** [all] Error 2 make[2]: Leaving directory `/home/carl/src/tinderclient/Test/xc' make[1]: *** [World] Error 2 make[1]: Leaving directory `/home/carl/src/tinderclient/Test/xc' make: *** [World] Error 2
Created attachment 561 [details] [review] Patch to make fix work with older versions of GCC Egbert checked in a patch to fix this, and Matthieu Herrb added a patch to make it work with an older version of GCC (see attachment). If this patch is applied, can this bug be marked as resoved?
Created attachment 562 [details] [review] Different way of solving problem Chisato supplied a patch that would replace mine and has the charm of being much smaller. It works with 2.1.7 so I think I will apply it. I assume that patch 561 is still required.
now after cvs update with freetype-2.1.4: gcc -m32 -o bdftopcf -O2 -fno-strength-reduce -fno-strict-aliasing -ansi -pedantic -Wall -Wpointer-arith -Wundef -L../../exports/lib bdftopcf.o -lXfont -lfntstubs -lfreetype -lz -lm -Wl,-rpath-link,../../exports/lib ../../exports/lib/libXfont.so: undefined reference to `ft_isdigit' collect2: ld returned 1 exit status make[3]: *** [bdftopcf] Error 1 make[3]: Leaving directory `/opt/xorgcvs/build/programs/bdftopcf' make[2]: *** [all] Error 2 make[2]: Leaving directory `/opt/xorgcvs/build/programs' make[1]: *** [all] Error 2 make[1]: Leaving directory `/opt/xorgcvs/build' make: *** [all] Error 2
Created attachment 567 [details] [review] a patch for performance improvement I propose a patch for performance improvement with freetype-2.1.7. Even if we cannot use freetype-2.1.8, the performance will be equivalent to that of XFree86-4.4.0 when using CJKV font. The attached patch is based on version 1.6.
Chisato, I'll commit your patch. I've built it on a 2.1.4 and had no problems with building although I don't have the time to test it thoroughly.
I believe all of the patches above have been applied to the tree. Are there any other issues that need to be dealt with for Freetype in the current release? If not, please move this bug over to block the release notes bug (#999) so that we can document the changes.
Resolved and moving over to release notes bug
(In reply to comment #7) > Resolved and moving over to release notes bug kem: Should this bug be closed now or what ?
over to 7.0 doc bug. did this ever get documented for 6.8?
Still not clear on what needs to be documented here, but since there's no suggestion for what to include in docs, it's not going to be documented for 6.9/7.0, so moving to 7.1 doc tracker.
we don't need to document anything, since it builds everywhere
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.