Bug 1221685

Summary: GCC 14: gdl package fails
Product: [openSUSE] openSUSE Tumbleweed Reporter: Michal Jireš <michal.jires>
Component: GNOMEAssignee: E-mail List <gnome-bugs>
Status: NEW --- QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: mjambor
Version: Current   
Target Milestone: ---   
Hardware: Other   
OS: Other   
URL: https://gitlab.gnome.org/GNOME/gdl/-/issues/9
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Bug Depends on:    
Bug Blocks: 1220571    

Description Michal Jireš 2024-03-19 11:22:37 UTC
Building gdl with GCC 14 fails here:
https://build.opensuse.org/package/live_build_log/openSUSE:Factory:Staging:Gcc7/gdl/standard/x86_64

Due to (exhaustive list of errors):

gdl-dock-item.c: In function ‘gdl_dock_item_class_init’:
gdl-dock-item.c:358:44: error: passing argument 1 of ‘gdl_dock_object_class_set_is_compound’ from incompatible pointer type [-Wincompatible-pointer-types]
  358 |     gdl_dock_object_class_set_is_compound (object_class, FALSE);
      |                                            ^~~~~~~~~~~~
      |                                            |
      |                                            GObjectClass * {aka struct _GObjectClass *}
In file included from gdl-dock.h:26,
                 from gdl-dock-item.c:38:
../gdl/gdl-dock-object.h:354:74: note: expected ‘GdlDockObjectClass *’ {aka ‘struct _GdlDockObjectClass *’} but argument is of type ‘GObjectClass *’ {aka ‘struct _GObjectClass *’}
  354 | void          gdl_dock_object_class_set_is_compound (GdlDockObjectClass *object_class,
      |                                                      ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
gdl-dock-item.c: In function ‘gdl_dock_item_set_property’:
gdl-dock-item.c:747:36: error: initialization of ‘GObject *’ {aka ‘struct _GObject *’} from incompatible pointer type ‘GtkWidget *’ {aka ‘struct _GtkWidget *’} [-Wincompatible-pointer-types]
  747 |                 GObject * parent = gtk_widget_get_parent (GTK_WIDGET (item));
      |                                    ^~~~~~~~~~~~~~~~~~~~~


gdl-dock-layout.c: In function ‘gdl_dock_layout_set_master’:
gdl-dock-layout.c:623:30: error: assignment to ‘GdlDockMaster *’ {aka ‘struct _GdlDockMaster *’} from incompatible pointer type ‘GObject *’ {aka ‘struct _GObject *’} [-Wincompatible-pointer-types]
  623 |         layout->priv->master = g_object_ref (master);
      |                              ^

gdl-dock-bar.c: In function ‘gdl_dock_bar_set_master’:
gdl-dock-bar.c:428:31: error: assignment to ‘GdlDockMaster *’ {aka ‘struct _GdlDockMaster *’} from incompatible pointer type ‘GObject *’ {aka ‘struct _GObject *’} [-Wincompatible-pointer-types]
  428 |         dockbar->priv->master = g_object_ref (master);
      |                               ^


See the meta bug#1220571 for more info.
Comment 1 Martin Jambor 2024-05-31 19:34:55 UTC
The corresponding Gentoo bug seems to be https://bugs.gentoo.org/919197
Comment 2 Martin Jambor 2024-07-09 11:59:27 UTC
Upstream issue: https://gitlab.gnome.org/GNOME/gdl/-/issues/9
Comment 3 Martin Jambor 2024-07-09 12:41:21 UTC
Given that immediately the next issue in the upstream project is
called "Archive this project?" I am going to add
-Wincompatible-pointer-types to the flags in order to suppress errors
resulting from missing explicit type conversions to and from Gobject *.

If the upstream ever comes alive again and fixes the issues, we can
remove it again
Comment 4 Martin Jambor 2024-07-09 12:52:59 UTC
I have submitted https://build.opensuse.org/request/show/1186392