[cairo] cairo 64-bit universal builds on Mac OS X

Ryan Schmidt cairo-2009a at ryandesign.com
Mon Jan 19 02:46:27 PST 2009


On Jan 19, 2009, at 03:59, Ryan Schmidt wrote:

> Hello. I'm the maintainer of cairo and pango for MacPorts. We noticed
> that cairo would not build when the 64-bit architectures (x86_64 or
> ppc64) were requested. It seems cairo uses ATSUI functions, which I
> think are part of Carbon, which is not available on 64-bit. The fix
> that was proposed to you in April 2008 was to disable those functions
> when compiling 64-bit:
>
> http://bugs.freedesktop.org/show_bug.cgi?id=15702
>
> MacPorts has now incorporated this patch:
>
> http://trac.macports.org/ticket/16007
>
> Is there any objection to including it in the official cairo sources?
> There hasn't been any discussion in the ticket.

I should note that while I can now compile cairo 64-bit on Mac OS X  
10.5 Leopard, I'm still having problems on Mac OS X 10.4 Tiger;  
here's what happens trying to compile for ppc64 on 10.4 on an Intel  
machine:


libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I. -I/mp/include/ 
pixman-1 -I/mp/include/freetype2 -I/mp/include -I/mp/include -I/mp/ 
include/libpng12 -I/mp/include -I/mp/include -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/mp/include -isysroot /Developer/SDKs/ 
MacOSX10.4u.sdk -O2 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch  
ppc64 -c cairo-quartz-surface.c  -fno-common -DPIC -o .libs/cairo- 
quartz-surface.o
In file included from /Developer/SDKs/MacOSX10.4u.sdk/System/Library/ 
Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/ 
Headers/DriverServices.h:32,
                  from /Developer/SDKs/MacOSX10.4u.sdk/System/Library/ 
Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/ 
Headers/CarbonCore.h:125,
                  from /Developer/SDKs/MacOSX10.4u.sdk/System/Library/ 
Frameworks/CoreServices.framework/Headers/CoreServices.h:21,
                  from /Developer/SDKs/MacOSX10.4u.sdk/System/Library/ 
Frameworks/ApplicationServices.framework/Headers/ 
ApplicationServices.h:20,
                  from cairo-quartz.h:43,
                  from cairo-quartz-private.h:44,
                  from cairo-quartz-surface.c:39:
/Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/ 
CoreServices.framework/Frameworks/CarbonCore.framework/Headers/ 
MachineExceptions.h:286: error: parse error before '*' token
/Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/ 
CoreServices.framework/Frameworks/CarbonCore.framework/Headers/ 
MachineExceptions.h:320: error: parse error before '*' token
In file included from /Developer/SDKs/MacOSX10.4u.sdk/System/Library/ 
Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/ 
Headers/CarbonCore.h:161,
                  from /Developer/SDKs/MacOSX10.4u.sdk/System/Library/ 
Frameworks/CoreServices.framework/Headers/CoreServices.h:21,
                  from /Developer/SDKs/MacOSX10.4u.sdk/System/Library/ 
Frameworks/ApplicationServices.framework/Headers/ 
ApplicationServices.h:20,
                  from cairo-quartz.h:43,
                  from cairo-quartz-private.h:44,
                  from cairo-quartz-surface.c:39:
/Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/ 
CoreServices.framework/Frameworks/CarbonCore.framework/Headers/fp.h: 
1338: error: 'SIGDIGLEN' undeclared here (not in a function)
cairo-quartz-surface.c: In function 'quartz_ensure_symbols':
cairo-quartz-surface.c:155: warning: passing argument 2 of 'Gestalt'  
from incompatible pointer type
make[3]: *** [cairo-quartz-surface.lo] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2





More information about the cairo mailing list