Clang 16 has a new error about incompatible function types, which shows up when building sysutils/tracker3: ../src/libtracker-sparql/bus/tracker-bus.vala:20:56: error: incompatible function pointer types assigning to 'void (*)(TrackerSparqlConnection *, GCancellable *, GAsyncReadyCallback, gpointer)' (aka 'void (*)(struct _TrackerSparqlConnection *, struct _GCancellable *, void (*)(struct _GObject *, struct _GAsyncResult *, void *), void *)') from 'void (*)(TrackerSparqlConnection *, GAsyncReadyCallback, gpointer)' (aka 'void (*)(struct _TrackerSparqlConnection *, void (*)(struct _GObject *, struct _GAsyncResult *, void *), void *)') [-Wincompatible-function-pointer-types] ((TrackerSparqlConnectionClass *) klass)->close_async = (void (*) (TrackerSparqlConnection*, GAsyncReadyCallback, gpointer)) tracker_bus_connection_real_close_async; ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Since the error occurs in vala-generated code, it does not make sense to patch the .c file. Suppress the warning instead.
Created attachment 242747 [details] sysutils/tracker3: fix build with clang 16
Created attachment 242748 [details] sysutils/tracker3: fix build with clang 16 (v2) Oops, use .include <bsd.port.post.mk> at the end.
(setting maintainer-feedback solely to avoid timeout) This port apparently has not been updated since the original commit; the current version upstream is 3.5.3. There is a chance this problem ceases to exist with the current upstream version.
LGTM. You can land this.
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=e78dc018f22d87c8a6e7b8b267e141b0161499d7 commit e78dc018f22d87c8a6e7b8b267e141b0161499d7 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2023-06-12 18:53:44 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2023-06-15 16:23:54 +0000 sysutils/tracker3: fix build with clang 16 Clang 16 has a new error about incompatible function types, which shows up when building sysutils/tracker3: ../src/libtracker-sparql/bus/tracker-bus.vala:20:56: error: incompatible function pointer types assigning to 'void (*)(TrackerSparqlConnection *, GCancellable *, GAsyncReadyCallback, gpointer)' (aka 'void (*)(struct _TrackerSparqlConnection *, struct _GCancellable *, void (*)(struct _GObject *, struct _GAsyncResult *, void *), void *)') from 'void (*)(TrackerSparqlConnection *, GAsyncReadyCallback, gpointer)' (aka 'void (*)(struct _TrackerSparqlConnection *, void (*)(struct _GObject *, struct _GAsyncResult *, void *), void *)') [-Wincompatible-function-pointer-types] ((TrackerSparqlConnectionClass *) klass)->close_async = (void (*) (TrackerSparqlConnection*, GAsyncReadyCallback, gpointer)) tracker_bus_connection_real_close_async; ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Since the error occurs in vala-generated code, it does not make sense to patch the .c file. Suppress the warning instead. PR: 271968 Approved by: vishwin, fernape MFH: 2023Q2 sysutils/tracker3/Makefile | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)
See also bug 272017, for updating tracker3 to 3.5.3.