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
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.
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 :)
Fixed in http://cgit.freedesktop.org/cairo/commit/?id=13b56c42bfdb9ad36f9b1bd22f83d7ef3a074ddc
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.