Bug 15712 - compile errors on Mac OS X with cairo 1.6.x and quartz/xlib enabled
Summary: compile errors on Mac OS X with cairo 1.6.x and quartz/xlib enabled
Status: RESOLVED FIXED
Alias: None
Product: cairomm
Classification: Unclassified
Component: Build (show other bugs)
Version: CVS HEAD
Hardware: All Mac OS X (All)
: medium normal
Assignee: Murray Cumming
QA Contact:
URL:
Whiteboard:
Keywords: patch
Depends on:
Blocks:
 
Reported: 2008-04-25 11:09 UTC by Benjamin Reed
Modified: 2008-04-25 21:43 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
separate calls to possibly-conflicting surface calls (13.31 KB, patch)
2008-04-25 11:10 UTC, Benjamin Reed
Details | Splinter Review
enable hidden visiblity of the wrap_* functions (3.40 KB, patch)
2008-04-25 11:10 UTC, Benjamin Reed
Details | Splinter Review
separate calls to possibly-conflicting surface calls (13.21 KB, patch)
2008-04-25 11:22 UTC, Benjamin Reed
Details | Splinter Review

Description Benjamin Reed 2008-04-25 11:09:29 UTC
On Mac OS X, if you have both the xlib and quartz backends
enabled in cairo, cairomm fails to build with conflicting headers:

/bin/sh ../libtool --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -DPNG_NO_MMX_CODE -I/sw/lib/freetype219/include/freetype2 -I/sw/lib/freetype219/include -I/sw/lib/fontconfig2/include -I/sw/include/pixman-1 -I/sw/include
/libpng12 -I/sw/include -I/sw/include/cairo -I/usr/X11R6/include -I/usr/X11/include -I/sw/lib/freetype219/include -I/sw/lib/freetype219/include/freetype2 -I/sw/lib/fontconfig2/include -I/sw/include -I/usr/X11R6/include  -g -O2 -c
 -o context.lo context.cc
g++ -DHAVE_CONFIG_H -I. -I.. -DPNG_NO_MMX_CODE -I/sw/lib/freetype219/include/freetype2 -I/sw/lib/freetype219/include -I/sw/lib/fontconfig2/include -I/sw/include/pixman-1 -I/sw/include/libpng12 -I/sw/include -I/sw/include/cairo -I
/usr/X11R6/include -I/usr/X11/include -I/sw/lib/freetype219/include -I/sw/lib/freetype219/include/freetype2 -I/sw/lib/fontconfig2/include -I/sw/include -I/usr/X11R6/include -g -O2 -c context.cc  -fno-common -DPIC -o .libs/context
.o
/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/MachineExceptions.h:255: error: declaration does not declare anything
/System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/QuickdrawTypes.h:264: error: using typedef-name 'Cursor' after 'struct'
/usr/X11R6/include/X11/X.h:108: error: 'Cursor' has a previous declaration here
/System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/QuickdrawTypes.h:269: error: using typedef-name 'Cursor' after 'struct'
/usr/X11R6/include/X11/X.h:108: error: 'Cursor' has a previous declaration here
/System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/QuickdrawTypes.h:269: error: invalid type in declaration before ';' token
/System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/QuickdrawTypes.h:269: error: conflicting declaration 'typedef int Cursor'
/usr/X11R6/include/X11/X.h:108: error: 'Cursor' has a previous declaration as 'typedef XID Cursor'
/System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/QuickdrawTypes.h:296: error: using typedef-name 'Picture' after 'struct'
/usr/X11R6/include/X11/extensions/render.h:31: error: 'Picture' has a previous declaration here
/System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/QuickdrawTypes.h:300: error: using typedef-name 'Picture' after 'struct'
/usr/X11R6/include/X11/extensions/render.h:31: error: 'Picture' has a previous declaration here
/System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/QuickdrawTypes.h:300: error: invalid type in declaration before ';' token
/System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/QuickdrawTypes.h:300: error: conflicting declaration 'typedef int Picture'
/usr/X11R6/include/X11/extensions/render.h:31: error: 'Picture' has a previous declaration as 'typedef XID Picture'
Comment 1 Benjamin Reed 2008-04-25 11:10:08 UTC
Created attachment 16179 [details] [review]
separate calls to possibly-conflicting surface calls
Comment 2 Benjamin Reed 2008-04-25 11:10:35 UTC
Created attachment 16180 [details] [review]
enable hidden visiblity of the wrap_* functions
Comment 3 Benjamin Reed 2008-04-25 11:22:37 UTC
Created attachment 16182 [details] [review]
separate calls to possibly-conflicting surface calls

rebased the patch to put the new .cc files into cc_sources_private instead of cc_sources in Makefile.am
Comment 4 Jonathon Jongsma 2008-04-25 21:43:56 UTC
Thanks for the patch.  I've pushed the it to git.  I left out the gcc visibility one for now, though ...


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.