Opened 14 months ago
Last modified 14 months ago
#67926 new defect
xfce4-session fails to build with current gtk-3: error: 'GtkWidget' {aka 'struct _GtkWidget'} has no member named 'style'
Reported by: | barracuda156 | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.8.1 |
Keywords: | Cc: | ||
Port: | xfce4-session |
Description
To begin with, existing port will fail at configure itself, since it looks for non-existing library. After adding the patch:
--- configure.ac.orig 2023-08-08 03:39:56.000000000 +0800 +++ configure.ac 2023-08-08 03:45:18.000000000 +0800 @@ -106,7 +106,7 @@ dnl Check for required packages XDT_CHECK_PACKAGE([LIBXFCE4UTIL], [libxfce4util-1.0], [4.9.0]) -XDT_CHECK_PACKAGE([LIBXFCE4UI], [libxfce4ui-1], [4.12.1]) +XDT_CHECK_PACKAGE([LIBXFCE4UI], [libxfce4ui-2], [4.12.1]) XDT_CHECK_PACKAGE([GTK], [gtk+-2.0], [2.20.0]) XDT_CHECK_PACKAGE([GMODULE], [gmodule-2.0], [2.24.0]) XDT_CHECK_PACKAGE([LIBWNCK], [libwnck-1.0], [2.30]) @@ -210,9 +210,9 @@ fi dnl check for location Xfce glade files were installed to -XFCE_GLADE_CATALOG_PATH="`pkg-config --variable glade_catalogdir libxfce4ui-1`" -XFCE_GLADE_PIXMAP_PATH="`pkg-config --variable glade_pixmapdir libxfce4ui-1`" -XFCE_GLADE_MODULE_PATH="`pkg-config --variable glade_moduledir libxfce4ui-1`" +XFCE_GLADE_CATALOG_PATH="`pkg-config --variable glade_catalogdir libxfce4ui-2`" +XFCE_GLADE_PIXMAP_PATH="`pkg-config --variable glade_pixmapdir libxfce4ui-2`" +XFCE_GLADE_MODULE_PATH="`pkg-config --variable glade_moduledir libxfce4ui-2`" AC_SUBST(XFCE_GLADE_CATALOG_PATH) AC_SUBST(XFCE_GLADE_PIXMAP_PATH) AC_SUBST(XFCE_GLADE_MODULE_PATH)
with gcc-4.2
it fails in the beginning of the build on:
:info:build Making all in libxfsm :info:build make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_xfce_xfce4-session/xfce4-session/work/xfce4-session-4.12.1/libxfsm' :info:build CC libxfsm_4_6_la-xfsm-splash-rc.lo :info:build CC libxfsm_4_6_la-xfsm-util.lo :info:build xfsm-util.c: In function ‘xfsm_window_add_border’: :info:build xfsm-util.c:165: error: ‘GtkWidget’ has no member named ‘style’ :info:build xfsm-util.c:173: error: ‘GtkBin’ has no member named ‘child’ :info:build make[2]: *** [libxfsm_4_6_la-xfsm-util.lo] Error 1 :info:build make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_xfce_xfce4-session/xfce4-session/work/xfce4-session-4.12.1/libxfsm' :info:build make[1]: *** [all-recursive] Error 1
Switching to gcc12
does not help:
:info:build Making all in libxfsm :info:build make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_xfce_xfce4-session/xfce4-session/work/xfce4-session-4.12.1/libxfsm' :info:build CC libxfsm_4_6_la-xfsm-splash-rc.lo :info:build CC libxfsm_4_6_la-xfsm-util.lo :info:build xfsm-util.c: In function 'xfsm_start_application': :info:build xfsm-util.c:83:42: warning: 'gdk_screen_get_number' is deprecated [-Wdeprecated-declarations] :info:build 83 | gdk_screen_get_number (screen)); :info:build | ^~~~~~~~~~~~~~~~~~~~~ :info:build In file included from /opt/local/include/gtk-3.0/gdk/gdkapplaunchcontext.h:31, :info:build from /opt/local/include/gtk-3.0/gdk/gdk.h:32, :info:build from /opt/local/include/gtk-3.0/gdk/gdkx.h:28, :info:build from xfsm-util.c:39: :info:build /opt/local/include/gtk-3.0/gdk/gdkscreen.h:56:14: note: declared here :info:build 56 | gint gdk_screen_get_number (GdkScreen *screen); :info:build | ^~~~~~~~~~~~~~~~~~~~~ :info:build xfsm-util.c:86:9: warning: 'gdk_screen_make_display_name' is deprecated [-Wdeprecated-declarations] :info:build 86 | screen_name = gdk_screen_make_display_name (screen); :info:build | ^~~~~~~~~~~ :info:build /opt/local/include/gtk-3.0/gdk/gdkscreen.h:71:14: note: declared here :info:build 71 | gchar * gdk_screen_make_display_name (GdkScreen *screen); :info:build | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ :info:build xfsm-util.c: In function 'xfsm_place_trash_window': :info:build xfsm-util.c:128:3: warning: 'gdk_screen_get_monitor_geometry' is deprecated: Use 'gdk_monitor_get_geometry' instead [-Wdeprecated-declarations] :info:build 128 | gdk_screen_get_monitor_geometry (screen, monitor, &geometry); :info:build | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :info:build /opt/local/include/gtk-3.0/gdk/gdkscreen.h:78:14: note: declared here :info:build 78 | void gdk_screen_get_monitor_geometry (GdkScreen *screen, :info:build | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :info:build xfsm-util.c:129:3: warning: 'gtk_widget_size_request' is deprecated: Use 'gtk_widget_get_preferred_size' instead [-Wdeprecated-declarations] :info:build 129 | gtk_widget_size_request (GTK_WIDGET (window), &requisition); :info:build | ^~~~~~~~~~~~~~~~~~~~~~~ :info:build In file included from /opt/local/include/gtk-3.0/gtk/gtkapplication.h:27, :info:build from /opt/local/include/gtk-3.0/gtk/gtkwindow.h:33, :info:build from /opt/local/include/gtk-3.0/gtk/gtkdialog.h:32, :info:build from /opt/local/include/gtk-3.0/gtk/gtkaboutdialog.h:30, :info:build from /opt/local/include/gtk-3.0/gtk/gtk.h:31, :info:build from /opt/local/include/xfce4/libxfce4ui-2/libxfce4ui/xfce-dialogs.h:27, :info:build from /opt/local/include/xfce4/libxfce4ui-2/libxfce4ui/libxfce4ui.h:28, :info:build from xfsm-util.c:41: :info:build /opt/local/include/gtk-3.0/gtk/gtkwidget.h:672:12: note: declared here :info:build 672 | void gtk_widget_size_request (GtkWidget *widget, :info:build | ^~~~~~~~~~~~~~~~~~~~~~~ :info:build xfsm-util.c: In function 'xfsm_window_add_border': :info:build xfsm-util.c:164:3: warning: 'gtk_widget_modify_bg' is deprecated: Use 'gtk_widget_override_background_color' instead [-Wdeprecated-declarations] :info:build 164 | gtk_widget_modify_bg (box1, GTK_STATE_NORMAL, :info:build | ^~~~~~~~~~~~~~~~~~~~ :info:build In file included from /opt/local/include/gtk-3.0/gtk/gtk.h:277: :info:build /opt/local/include/gtk-3.0/gtk/deprecated/gtkstyle.h:753:13: note: declared here :info:build 753 | void gtk_widget_modify_bg (GtkWidget *widget, :info:build | ^~~~~~~~~~~~~~~~~~~~ :info:build xfsm-util.c:165:45: error: 'GtkWidget' {aka 'struct _GtkWidget'} has no member named 'style' :info:build 165 | &(GTK_WIDGET(window)->style->bg [GTK_STATE_SELECTED])); :info:build | ^~ :info:build xfsm-util.c:173:3: warning: 'gtk_widget_reparent' is deprecated [-Wdeprecated-declarations] :info:build 173 | gtk_widget_reparent (GTK_BIN (window)->child, box2); :info:build | ^~~~~~~~~~~~~~~~~~~ :info:build /opt/local/include/gtk-3.0/gtk/gtkwidget.h:755:12: note: declared here :info:build 755 | void gtk_widget_reparent (GtkWidget *widget, :info:build | ^~~~~~~~~~~~~~~~~~~ :info:build xfsm-util.c:173:40: error: 'GtkBin' {aka 'struct _GtkBin'} has no member named 'child' :info:build 173 | gtk_widget_reparent (GTK_BIN (window)->child, box2); :info:build | ^~ :info:build make[2]: *** [libxfsm_4_6_la-xfsm-util.lo] Error 1 :info:build make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_xfce_xfce4-session/xfce4-session/work/xfce4-session-4.12.1/libxfsm' :info:build make[1]: *** [all-recursive] Error 1 :info:build make[1]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_xfce_xfce4-session/xfce4-session/work/xfce4-session-4.12.1' :info:build make: *** [all] Error 2
Apparently the version of gtk-3
we have now is incompatible with it.
Change History (4)
comment:1 Changed 14 months ago by barracuda156
comment:2 Changed 14 months ago by barracuda156
This commit might have introduced the breakage: [970aa2c0a90d95ab91a36886791575cef333d50f/macports-ports]
comment:3 follow-up: 4 Changed 14 months ago by ryandesign (Ryan Carsten Schmidt)
xfce4-session, and all other xfce ports that have not been updated, need to be updated to newer versions, which might fix this issue. See #64820.
comment:4 Changed 14 months ago by barracuda156
Replying to ryandesign:
xfce4-session, and all other xfce ports that have not been updated, need to be updated to newer versions, which might fix this issue. See #64820.
Thank you, I have just discovered xfce is long back at 4.18. Indeed, we should just update the whole bunch instead of fixing archaic versions.
Well, looks like it should be built with
gtk-2
:Portfile ignores dependency altogether.