Bug 20005

Summary: Quartz font backend fails to compile
Product: cairo Reporter: john <spam>
Component: quartz font backendAssignee: Vladimir Vukicevic <vladimir>
Status: RESOLVED FIXED QA Contact: cairo-bugs mailing list <cairo-bugs>
Severity: major    
Priority: medium    
Version: 1.8.6   
Hardware: x86 (IA32)   
OS: Mac OS X (All)   
Whiteboard:
i915 platform: i915 features:

Description john 2009-02-07 22:36:32 UTC
While compiling cairo, I ran into this bizarre bug. I can't even tell what actually crashed it. I've attached my compiler flags, configure information, configure summary, and failing compiler output below. Any help/insight would be greatly appreciated!

MACOSX_DEPLOYMENT_TARGET=10.5
CFLAGS="-arch x86_64 -g -Os -pipe -no-cpp-precomp"
CCFLAGS="-arch x86_64 -g -Os -pipe"
CXXFLAGS="-arch x86_64 -g -Os -pipe"
LDFLAGS="-arch x86_64 -bind_at_load"

-------------------------------------------------------

./configure --enable-fast-install=no --enable-quartz-image --enable-
test-surfaces

-------------------------------------------------------

cairo (version 1.8.6 [release]) will be compiled with:

The following surface backends:
  Image:         yes (always builtin)
  Xlib:          yes
  Xlib Xrender:  yes
  Quartz:        yes
  Quartz-image:  yes
  XCB:           no (disabled, use --enable-xcb to enable)
  Win32:         no (requires a Win32 platform)
  OS2:           no (disabled, use --enable-os2 to enable)
  PostScript:    yes
  PDF:           yes
  SVG:           yes
  glitz:         no (disabled, use --enable-glitz to enable)
  BeOS:          no (disabled, use --enable-beos to enable)
  DirectFB:      no (disabled, use --enable-directfb to enable)

The following font backends:
  User:          yes (always builtin)
  FreeType:      no (requires fontconfig)
  Win32:         no (requires a Win32 platform)
  Quartz:        yes

The following functions:
  PNG functions: yes

And the following internal features:
  gcov support:  no
  test surfaces: yes
  ps testing:    no (requires ghostscript)
  pdf testing:   no (requires poppler-glib >= 0.9.2)
  svg testing:   no (requires librsvg-2.0 >= 2.15.0)

-------------------------------------------------------

make  all-recursive
Making all in src
make  all-am
../doltcompile gcc -DHAVE_CONFIG_H -I. -I..  -I. -I/usr/local/include/pixman-1       -I/usr/local/include/libpng12          -Wall -Wextra -Wsign-compare -Werror-implicit-function-declaration -Wpointer-arith -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Wpacked -Wswitch-enum -Wstrict-aliasing=2 -Winit-self -Wdeclaration-after-statement -Wold-style-definition -Wno-missing-field-initializers -Wno-unused-parameter -Wno-long-long -Winline -fno-strict-aliasing -fno-common -Wp,-D_FORTIFY_SOURCE=2             -I/usr/X11/include    -arch x86_64 -g -Os -pipe -no-cpp-precomp -MT cairo-type1-subset.lo -MD -MP -MF .deps/cairo-type1-subset.Tpo -c -o cairo-type1-subset.lo cairo-type1-subset.c
mv -f .deps/cairo-type1-subset.Tpo .deps/cairo-type1-subset.Plo
../doltcompile gcc -DHAVE_CONFIG_H -I. -I..  -I. -I/usr/local/include/pixman-1       -I/usr/local/include/libpng12          -Wall -Wextra -Wsign-compare -Werror-implicit-function-declaration -Wpointer-arith -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Wpacked -Wswitch-enum -Wstrict-aliasing=2 -Winit-self -Wdeclaration-after-statement -Wold-style-definition -Wno-missing-field-initializers -Wno-unused-parameter -Wno-long-long -Winline -fno-strict-aliasing -fno-common -Wp,-D_FORTIFY_SOURCE=2             -I/usr/X11/include    -arch x86_64 -g -Os -pipe -no-cpp-precomp -MT cairo-quartz-font.lo -MD -MP -MF .deps/cairo-quartz-font.Tpo -c -o cairo-quartz-font.lo cairo-quartz-font.c
cairo-quartz-font.c: In function ‘_cairo_quartz_font_get_implementation’:
cairo-quartz-font.c:296: warning: assignment from incompatible pointer type
cairo-quartz-font.c:371: warning: assignment from incompatible pointer type
cairo-quartz-font.c: In function ‘_cairo_quartz_font_create_toy’:
cairo-quartz-font.c:386: warning: passing argument 2 of ‘_cairo_quartz_font_get_implementation’ from incompatible pointer type
cairo-quartz-font.c: In function ‘_cairo_quartz_init_glyph_metrics’:
cairo-quartz-font.c:455: warning: unused variable ‘textMatrix’
cairo-quartz-font.c: At top level:
cairo-quartz-font.c:778: warning: initialization from incompatible pointer type
cairo-quartz-font.c: In function ‘cairo_quartz_font_face_create_for_atsu_font_id’:
cairo-quartz-font.c:822: error: implicit declaration of function ‘FMGetATSFontRefFromFont’
cairo-quartz-font.c:822: warning: nested extern declaration of ‘FMGetATSFontRefFromFont’
make[3]: *** [cairo-quartz-font.lo] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Comment 1 Vladimir Vukicevic 2009-02-08 13:10:15 UTC
You're doing a 64-bit build of Cairo.  64-bit MacOS X does not support ATSUI; there are still a few small remaining references to it.  The code just needs some ifdefs to disable compiling in cairo_quartz_font_face_create_for_atsu_font_id and its implementation.
Comment 2 john 2009-02-08 13:55:49 UTC
Thanks for your help. I guess I'll just have to stick with x11 for now and join the line of people waiting for stable quartz support :)

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.