Opened 7 years ago

Closed 10 months ago

#32057 closed enhancement (wontfix)

gnome-desktop: Can't build with gtk2+quartz

Reported by: rudloff@… Owned by: dbevans (David B. Evans)
Priority: Low Milestone:
Component: ports Version: 2.0.3
Keywords: upstream Cc:
Port: gnome-desktop


gnome-desktop-item.c:51:22: error: gdk/gdkx.h: No such file or directory

I don't know if it is possible to patch it to build with Quartz, but I think the port should at least provide a nicer error message.

Attachments (1)

main.log (101.6 KB) - added by rudloff@… 7 years ago.

Download all attachments as: .zip

Change History (7)

Changed 7 years ago by rudloff@…

Attachment: main.log added

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

Cc: devans@… removed
Owner: changed from macports-tickets@… to devans@…
Summary: [gnome-desktop] Can't build with gtk2+quartzgnome-desktop: Can't build with gtk2+quartz

comment:2 Changed 7 years ago by dbevans (David B. Evans)

Status: newassigned

comment:3 Changed 7 years ago by dbevans (David B. Evans)

Resolution: fixed
Status: assignedclosed

gnome-desktop has a hard dependency on the X11 libraries and will not configure without them.

So the fact that you got as far as you did indicates that you do have the X11 libraries installed but the build error indicates that gtk2 is built with the +quartz option.

The fact that X11 dependencies (any xorg-* port) are installed by a port is a good sign that it isn't meant to build +quartz.

Per your request have added a nicer error message if an attempt to build +quartz is attempted.

Committed in r87275.

comment:4 Changed 4 years ago by david.e.pi.3.14@…

Resolution: fixed
Status: closedreopened

I have the same issue with gnome-desktop-3.14.1 and gtk3+quartz. The build fails without any clear error message with the error:

gnome-bg-crossfade.c:30:10: fatal error: 'gdk/gdkx.h' file not found
#include <gdk/gdkx.h>

comment:5 Changed 4 years ago by dbevans (David B. Evans)

The resolution pretty much remains the same as the earlier posts. gnome-desktop has hard dependencies on X11 functionality and requires gtk3 built with the +x11 variant (needs the x11 gdk backend) to build. This means that it will not build with gtk3 +quartz as currently implemented. Somehow the dummy +quartz variant that was added 3 years ago to give an error about this issue has gone away and only comments in the port remain to explain this situation.

Theoretically, since about 3.10, gtk3 has had the capability of being built with multiple gdk backend targets but this requires packages like gnome-desktop to test for the backends available and then implement backend specific code for each case or just not use gdk specific code at all. In practice, only a few GNOME packages have taken advantage of this capability to date and gnome-desktop is not one of them. The inclusion of additional gdk backends such as broadway, wayland and mir may change that in the future.

At any rate, the current MacPorts approach would be to use the active_variants port group to test for the gtk3 +x11 variant and error out with a more specific message if it isn't installed and active.

I have committed this change in r128248 and attempting to build with gtk3 +quartz active will now fail at configure time with the following message:

--->  Configuring gnome-desktop
Error: org.macports.configure for port gnome-desktop returned: gtk3 must be installed with +x11.

I know this isn't much help but it is about all that can be done at this point without some changes upstream.

Last edited 4 years ago by dbevans (David B. Evans) (previous) (diff)

comment:6 Changed 10 months ago by jmroot (Joshua Root)

Keywords: upstream added
Resolution: wontfix
Status: reopenedclosed
Note: See TracTickets for help on using tickets.