mutter fails to build
I'm trying to build the current gnome-shell with jhbuild on Fedora 31 beta, and am failing in mutter:
*** Building mutter *** [81/88]
ninja
[174/1163] Compiling C object 'src/25a6634@@mutter-6@sha/backends_meta-profiler.c.o'.
FAILED: src/25a6634@@mutter-6@sha/backends_meta-profiler.c.o
ccache cc -Isrc/25a6634@@mutter-6@sha -Isrc -I../../../../jhbuild/checkout/mutter/src -I. -I../../../../jhbuild/checkout/mutter/ -Iclutter -I../../../../jhbuild/checkout/mutter/clutter -Iclutter/clutter -I../../../../jhbuild/checkout/mutter/clutter/clutter -Icogl -I../../../../jhbuild/checkout/mutter/cogl -Icogl/cogl -I../../../../jhbuild/checkout/mutter/cogl/cogl -Isrc/meta -I/opt/gnome/include/glib-2.0 -I/opt/gnome/lib/glib-2.0/include -I/usr/include/libdrm -I/opt/gnome/include/cairo -I/opt/gnome/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/opt/gnome/include/gdk-pixbuf-2.0 -I/opt/gnome/include/sysprof-3 -I/opt/gnome/include/gio-unix-2.0 -I/opt/gnome/include/gsettings-desktop-schemas -I/opt/gnome/include/gtk-3.0 -I/opt/gnome/include/pango-1.0 -I/opt/gnome/include/harfbuzz -I/opt/gnome/include/fribidi -I/opt/gnome/include/atk-1.0 -I/opt/gnome/include/at-spi2-atk/2.0 -I/opt/gnome/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/opt/gnome/include/gnome-desktop-3.0 -I/opt/gnome/include/gnome-settings-daemon-3.0 -I/opt/gnome/include/json-glib-1.0 -I/opt/gnome/include/gudev-1.0 -I/usr/include/startup-notification-1.0 -I/opt/gnome/include/libwacom-1.0 -I/opt/gnome/include/gobject-introspection-1.0 -fvisibility=hidden -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O2 -g -D_GNU_SOURCE -fno-strict-aliasing -Wpointer-arith -Wmissing-declarations -Wimplicit-function-declaration -Wformat=2 -Wformat-nonliteral -Wformat-security -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wundef -Wunused -Wcast-align -Wmissing-noreturn -Wmissing-format-attribute -Wmissing-include-dirs -Wlogical-op -Wignored-qualifiers -Werror=redundant-decls -Werror=implicit -Werror=nonnull -Werror=init-self -Werror=main -Werror=missing-braces -Werror=sequence-point -Werror=return-type -Werror=trigraphs -Werror=array-bounds -Werror=write-strings -Werror=address -Werror=int-to-pointer-cast -Werror=pointer-to-int-cast -Werror=empty-body -Werror=write-strings -DG_ENABLE_DEBUG -fno-omit-frame-pointer -ggdb -O2 -fno-omit-frame-pointer -fPIC -pthread -D_REENTRANT -DCLUTTER_ENABLE_COMPOSITOR_API -DCLUTTER_ENABLE_EXPERIMENTAL_API -DCOGL_ENABLE_EXPERIMENTAL_API -DCOGL_ENABLE_EXPERIMENTAL_2_0_API -DCOGL_ENABLE_MUTTER_API -DCLUTTER_DISABLE_DEPRECATION_WARNINGS -DCOGL_DISABLE_DEPRECATION_WARNINGS '-DG_LOG_DOMAIN="mutter"' -DSN_API_NOT_YET_FROZEN=1 '-DGETTEXT_PACKAGE="mutter"' -DWITH_VERBOSE_MODE -MD -MQ 'src/25a6634@@mutter-6@sha/backends_meta-profiler.c.o' -MF 'src/25a6634@@mutter-6@sha/backends_meta-profiler.c.o.d' -o 'src/25a6634@@mutter-6@sha/backends_meta-profiler.c.o' -c ../../../../jhbuild/checkout/mutter/src/backends/meta-profiler.c
../../../../jhbuild/checkout/mutter/src/backends/meta-profiler.c: In function ‘handle_start’:
../../../../jhbuild/checkout/mutter/src/backends/meta-profiler.c:101:3: error: too few arguments to function ‘meta_dbus_sysprof3_profiler_complete_start’
101 | meta_dbus_sysprof3_profiler_complete_start (dbus_profiler, invocation);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../jhbuild/checkout/mutter/src/backends/meta-profiler.h:25,
from ../../../../jhbuild/checkout/mutter/src/backends/meta-profiler.c:22:
src/meta-dbus-sysprof3-profiler.h:59:6: note: declared here
59 | void meta_dbus_sysprof3_profiler_complete_start (
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../jhbuild/checkout/mutter/src/backends/meta-profiler.c: In function ‘meta_sysprof_capturer_init_iface’:
../../../../jhbuild/checkout/mutter/src/backends/meta-profiler.c:132:23: warning: assignment to ‘gboolean (*)(MetaDBusSysprof3Profiler *, GDBusMethodInvocation *, GUnixFDList *, GVariant *, GVariant *)’ {aka ‘int (*)(struct _MetaDBusSysprof3Profiler *, struct _GDBusMethodInvocation *, struct _GUnixFDList *, struct _GVariant *, struct _GVariant *)’} from incompatible pointer type ‘gboolean (*)(MetaDBusSysprof3Profiler *, GDBusMethodInvocation *, GVariant *, GVariant *)’ {aka ‘int (*)(struct _MetaDBusSysprof3Profiler *, struct _GDBusMethodInvocation *, struct _GVariant *, struct _GVariant *)’} [-Wincompatible-pointer-types]
132 | iface->handle_start = handle_start;
| ^
[191/1163] Compiling C object 'src/25a6634@@mutter-6@sha/compositor_compositor.c.o'.
ninja: build stopped: subcommand failed.
My ~/.config/jhbuildrc
is:
import os
prefix = '/opt/gnome'
use_local_modulesets = True
modules = ['gnome-settings-daemon', 'gnome-shell', 'gnome-screenshot']
os.environ['CFLAGS'] = '-ggdb -O2 -fno-omit-frame-pointer'
os.environ['PATH'] = "%s:%s" % (os.path.expanduser('~/.cargo/bin'), os.environ['PATH'])
It seems like some mismatch between sysprof's dbus definitions and what mutter wants, or vice versa, but I don't really understand how dbus code generation works so I'm a bit lost here. Thanks for any advice!