Opened 17 years ago

Closed 16 years ago

Last modified 15 years ago

#11745 closed defect (invalid)

cairo +quartz and gtk2 +quartz don't mix

Reported by: blair (Blair Zajac) Owned by: rhwood@…
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: blair (Blair Zajac), ryandesign (Ryan Carsten Schmidt), rhwood@…, nox@…
Port:

Description

Trying to compile the HEAD versions of cairo +quartz and gtk2 +quartz gets this compile error:

 gcc -DHAVE_CONFIG_H -I. -I. -I../.. -DG_LOG_DOMAIN=\"Gdk\" -DGDK_COMPILATION -I../.. -I../../gdk -I../../gdk -DGDK_PIXBUF_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DG_DISABLE_CAST_CHECKS -D_REENTRANT -DXTHREADS -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include -I/opt/local/include/pango-1.0 -I/opt/local/include/cairo -I/opt/local/include/freetype2 -I/opt/local/include/libpng12 -I/usr/X11R6/include -xobjective-c -I/opt/local/include -no-cpp-precomp -DX_LOCALE -I/usr/X11R6/include -MT gdkdrawable-quartz.lo -MD -MP -MF .deps/gdkdrawable-quartz.Tpo -c gdkdrawable-quartz.c  -fno-common -DPIC -o .libs/gdkdrawable-quartz.o
gdkdrawable-quartz.c: In function 'gdk_quartz_ref_cairo_surface':
gdkdrawable-quartz.c:64: error: incompatible type for argument 1 of 'cairo_quartz_surface_create'
gdkdrawable-quartz.c:64: error: too many arguments to function 'cairo_quartz_surface_create'
make[4]: *** [gdkdrawable-quartz.lo] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

This on a 10.4 i386 box.

Regards, Blair

Attachments (2)

patch-gtk-gdk-quartz-gdkdrawable-quartz.c (576 bytes) - added by chris@… 17 years ago.
patch to gdkdrawable-quartz.c to chase cairo changes
Portfile.patch (624 bytes) - added by chris@… 17 years ago.
patch to Portfile to apply the gdkdrawable-quartz.c patch

Download all attachments as: .zip

Change History (17)

comment:1 Changed 17 years ago by ryandesign (Ryan Carsten Schmidt)

I recommend you speak with the developers of gtk2 about this. Quartz support in cairo is still experimental, and in fact was completely rewritten between 1.2.6 and 1.4.0, so it's certainly understandable that other software might not be able to link with it correctly. I added notes to the cairo portfile explaining the experimental nature of the quartz and atsui variants in r23732.

comment:2 Changed 17 years ago by ryandesign (Ryan Carsten Schmidt)

Is this related to or a duplicate of #11138?

comment:3 Changed 17 years ago by ryandesign (Ryan Carsten Schmidt)

Milestone: Port Bugs

comment:4 Changed 17 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: blair@… added

#11138 was marked closed/fixed last month. Can you please retry with the current cairo and gtk2 ports and see if you still experience this issue?

Changed 17 years ago by chris@…

patch to gdkdrawable-quartz.c to chase cairo changes

Changed 17 years ago by chris@…

Attachment: Portfile.patch added

patch to Portfile to apply the gdkdrawable-quartz.c patch

comment:5 Changed 17 years ago by chris@…

See attached patches, which fix the problem.

comment:6 Changed 17 years ago by chris@…

Oh, I filed a bug with gtk, http://bugzilla.gnome.org/show_bug.cgi?id=449611

They won't be fixing it in 2.10.x, but it may appear in 2.12.x.

comment:7 Changed 17 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: rhwood@… added; mij@… removed
Owner: changed from mij@… to rhwood@…

Randall Wood now maintains gtk2, not Jim Mock.

comment:8 Changed 17 years ago by nox@…

Cc: nox@… added

Why don't we add the patch to the port?

comment:9 Changed 17 years ago by rhwood@…

Status: newassigned

I had been trusting that this would have been fixed in GTK 2.12.0, but it was not and has been committed in changeset:29117

GTK+ developers recommend building against Cairo from the head of the source code repository, so I do not know if this will work.

comment:10 Changed 17 years ago by rhwood@…

If you drink coffee, don't try to fix ports while waiting for your first cup for the day to brew.

I had to revert changeset:29117 in changeset:29118 since the patch does not work correctly.

comment:11 Changed 17 years ago by rhwood@…

I think that I have confirmed that gkt2 +quartz builds correctly, but do not know if it runs correctly. Can you please test and confirm or deny?

comment:12 Changed 17 years ago by mmoll@…

It does seem to build without errors, but the gtk-demo program doesn't run:

gtk-demo

CGBitmapContextGetBitsPerPixel: invalid context cairo.c:91: failed assertion `status > CAIRO_STATUS_SUCCESS && status <= CAIRO_STATUS_LAST_STATUS' Abort trap

comment:13 Changed 16 years ago by rhwood@…

Is this issue still alive with the current versions of gtk2 and cairo, or can I close it?

comment:14 Changed 16 years ago by rhwood@…

Resolution: invalid
Status: assignedclosed

Closing as this issue is OBE.

comment:15 Changed 15 years ago by (none)

Milestone: Port Bugs

Milestone Port Bugs deleted

Note: See TracTickets for help on using tickets.