Opened 11 years ago
Last modified 5 weeks ago
#41839 new defect
gcr: build fails when using gtk3 +quartz due to X11 specific UI code
Reported by: | khepler | Owned by: | dbevans (David B. Evans) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.2.1 |
Keywords: | Cc: | bitpup, mathsmac@…, e-t-h-a-n, MarcusCalhoun-Lopez (Marcus Calhoun-Lopez), p-bro, cooljeanius (Eric Gallager) | |
Port: | gcr |
Description
Building gcr fails on my machine with the error:
gcr-prompt-dialog.c:34:22: error: gdk/gdkx.h: No such file or directory
This file is provided by gtk when built with X support, but not (as on my machine) with Quartz support.
Attachments (1)
Change History (20)
Changed 11 years ago by khepler
comment:1 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | devans@… removed |
---|---|
Owner: | changed from macports-tickets@… to devans@… |
comment:2 Changed 11 years ago by khepler
I thought it might be a good idea to explicitly require the +x11 variant.
comment:3 Changed 11 years ago by larryv (Lawrence Velázquez)
Summary: | gcr @3.10.1 requires gdk/gdkx.h → gcr @3.10.1 should require gtk +x11 |
---|
comment:4 Changed 11 years ago by larryv (Lawrence Velázquez)
Summary: | gcr @3.10.1 should require gtk +x11 → gcr @3.10.1_0 should require gtk2 +x11 |
---|
comment:7 follow-up: 8 Changed 10 years ago by hackdefendr (HackDefendr)
FYI - still occurring in MP 5.3.1
With version Gcr 3.12.2, the Gtk requirements have moved to Gtk3.
This port is ultimately being pulled in by gvfs, which is obviously pulled in by something requiring gvfs or has a variant for gvfs explicitly set. For me its being pulled in via gimp2-devel +gvfs, which ultimately pulls in some gnome stuff, libgcrypt, and eventually gcr. Gcr fails to compile due to 4 files from gcr requiring gdk/gdkx.h from Gtk3, which is only provided when Gtk3 is built with +x11.
I am merely keeping this compile issue relevant, and believe upstream is still responsible for fixing this.
J
comment:8 Changed 10 years ago by dbevans (David B. Evans)
Replying to gvibe06@…:
I am merely keeping this compile issue relevant, and believe upstream is still responsible for fixing this.
I agree. The current UI code uses X11 specific API and relies on gdk/gdkx.h in several places. This not only effects the ability to build using the gtk+ Quartz backend but potentially others such as Wayland. It should be possible to rework the UI code to avoid backend specific code or at least support more than just the X11 backend.
I've filed a bug report upstream https://bugzilla.gnome.org/show_bug.cgi?id=734366. A possibly related bug report is https://bugzilla.gnome.org/show_bug.cgi?id=688678 which requests the ability to build without gtk+ at all.
In the meantime, in r123181 have added a pre-configure check for the presence of gtk3 +x11 using require_active_variants. This doesn't fix the +quartz build problem but makes it more apparent what the issue is.
comment:9 Changed 10 years ago by dbevans (David B. Evans)
Summary: | gcr @3.10.1_0 should require gtk2 +x11 → gcr: build fails when using gtk3 +quartz due to X11 specific UI code |
---|
comment:10 Changed 10 years ago by dbevans (David B. Evans)
The following MacPorts GNOME ports are blocked from building with gtk3 +quartz due to this issue:
- empathy
- eog
- eog-plugins
- epiphany
- evolution-data-server
- gnome-online-accounts
- grilo-plugins
- libgdata
- seahorse
- totem
comment:13 Changed 7 years ago by kencu (Ken)
also pan2 requires gcr which therefore means only +x11 now
comment:14 Changed 7 years ago by kencu (Ken)
gcr
has a new option --without-gtk
as of this commit . That builds the guts of gcr
without the user interface part that required +x11.
I have been able to successfully build gcr
using the --without-gtk
option when gtk3 @3.22.29_0+quartz (active)
is installed.
I think this may solve this issue for practical purposes. Of course it would be nice to get the gcr
user interface to build +quartz as well someday, but that is above my pay grade.
This allows pan2
to build when gtk3 +quartz
is installed.
comment:15 Changed 7 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Cc: | MarcusCalhoun-Lopez added |
---|
comment:16 Changed 7 years ago by kencu (Ken)
comment:17 Changed 5 years ago by p-bro
Cc: | p-bro added |
---|
comment:18 Changed 5 months ago by cooljeanius (Eric Gallager)
Cc: | cooljeanius added |
---|
Sounds like you've already discovered the solution. If you want to install gcr, install gtk2 with the +x11 variant. If you want gcr to not require that, explain that to the developers of gcr.