Re: glib2 deprecated declarations failing on clang16
- Reply: Danilo Egea Gondolfo : "Re: glib2 deprecated declarations failing on clang16"
- Reply: Nuno Teixeira : "Re: glib2 deprecated declarations failing on clang16"
- In reply to: Nuno Teixeira : "glib2 deprecated declarations failing on clang16"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 04 Jul 2023 13:56:34 UTC
On 4 Jul 2023, at 14:37, Nuno Teixeira <eduardo@freebsd.org> wrote: > > I'm getting build errors from current with www/bluefish about deprecated glib2 declarations and causing build to fail with clang16: > --- > /usr/local/include/glib-2.0/glib/gmacros.h:1262:37: note: expanded from macro 'G_DEPRECATED' > #define G_DEPRECATED __attribute__((__deprecated__)) > ^ > mv -f .deps/bluefish.Tpo .deps/bluefish.Po > bftextview2_langmgr.c:2665:2: warning: 'g_thread_create_full' is deprecated: Use 'g_thread_new' instead [-Wdeprecated-declarations] > g_thread_create_full(build_bflang2scan_thread, NULL, 0, FALSE, FALSE, G_THREAD_PRIORITY_LOW, &gerror); > --- > > Any help is welcome on finding out its cause. > > a related issue: https://github.com/PCSX2/pcsx2/issues/3315 > > Build log: https://pkg-status.freebsd.org/beefy17/data/main-i386-default/pf46bd2c58425_s0631830a7a/logs/bluefish-2.2.14.log The actual error is an incompatible callback function signature: bftextview2_autocomp.c:432:2: error: incompatible function pointer types passing 'gboolean (GtkLabel *, gchar *, gpointer)' (aka 'int (struct _GtkLabel *, char *, void *)') to parameter of type 'GCallback' (aka 'void (*)(void)') [-Wincompatible-function-pointer-types] g_signal_connect(acw->reflabel, "activate-link", acw_label_active_link_lcb, acw); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/include/glib-2.0/gobject/gsignal.h:515:59: note: expanded from macro 'g_signal_connect' g_signal_connect_data ((instance), (detailed_signal), (c_handler), (data), NULL, (GConnectFlags) 0) ^~~~~~~~~~~ /usr/local/include/glib-2.0/gobject/gsignal.h:411:25: note: passing argument to parameter 'c_handler' here GCallback c_handler, ^ I have seen these more often with glib-based applications. In some cases it is feasible to fix the callback function to have the correct signature, in other cases you can slap a cast in place. Or, if the affected code is vala-generated (also happens), the big hammer is to suppress the warning(s). -Dimitry