yilozt / mutter-rounded

A window manager for GNOME, with rounded corners patch
https://aur.archlinux.org/packages/mutter-rounded/
GNU General Public License v2.0
553 stars 26 forks source link

[GNOME 41.5] Build failed on Generating cogl/cogl/Cogl-10.gir with a custom command #61

Open KCGD opened 2 years ago

KCGD commented 2 years ago

Spesifically using the AUR, the install seems to fail consistantly on:

[556/1174] Generating cogl/cogl/Cogl-10.gir with a custom command.

I made sure to pass --nocheck, but this error still occurs. I also saw this error shortly after the previous one:

ModuleNotFoundError: No module named 'giscanner._giscanner'

I have tried cleanbuilding with yay, manually installing with makepkg, passing -dd to yay to skip dependency checking. I have also tried switching my python version with anaconda. 3.7.11 and 3.8.13 both show the same error.

Im running vanilla Arch using Gnome 41.5

Full log is here ``` makepkg --nocheck -si ==> Making package: mutter-rounded 42.1-1.1 (Tue 10 May 2022 10:22:22 AM EDT) ==> Checking runtime dependencies... ==> Checking buildtime dependencies... ==> Retrieving sources... -> Cloning mutter-rounded git repo... Cloning into bare repository '/home/b/mutter-rounded/mutter-rounded'... remote: Enumerating objects: 213923, done. remote: Counting objects: 100% (6724/6724), done. remote: Compressing objects: 100% (1506/1506), done. remote: Total 213923 (delta 5915), reused 5713 (delta 5218), pack-reused 207199 Receiving objects: 100% (213923/213923), 71.63 MiB | 724.00 KiB/s, done. Resolving deltas: 100% (173782/173782), done. -> Cloning mutter_settings git repo... Cloning into bare repository '/home/b/mutter-rounded/mutter_settings'... remote: Enumerating objects: 138, done. remote: Counting objects: 100% (138/138), done. remote: Compressing objects: 100% (83/83), done. remote: Total 138 (delta 60), reused 118 (delta 44), pack-reused 0 Receiving objects: 100% (138/138), 1.55 MiB | 3.74 MiB/s, done. Resolving deltas: 100% (60/60), done. -> Found rounded_corners.patch -> Found shell_blur_effect.patch -> Found meta_clip_effect.c -> Found meta_clip_effect.h -> Found shader.h -> Found shell-blur-effect.h -> Found shell-blur-effect.c -> Found mr1441.patch ==> Validating source files with sha256sums... mutter-rounded ... Skipped mutter_settings ... Skipped rounded_corners.patch ... Passed shell_blur_effect.patch ... Passed meta_clip_effect.c ... Passed meta_clip_effect.h ... Passed shader.h ... Passed shell-blur-effect.h ... Passed shell-blur-effect.c ... Passed mr1441.patch ... Passed ==> Extracting sources... -> Creating working copy of mutter-rounded git repo... Cloning into 'mutter-rounded'... done. Switched to a new branch 'makepkg' -> Creating working copy of mutter_settings git repo... Cloning into 'mutter_settings'... done. ==> Starting prepare()... patching file data/org.gnome.mutter.gschema.xml.in patching file src/compositor/compositor-private.h patching file src/compositor/compositor.c patching file src/compositor/meta-window-actor-private.h patching file src/compositor/meta-window-actor-wayland.c patching file src/compositor/meta-window-actor-x11.c patching file src/compositor/meta-window-actor.c patching file src/core/prefs.c patching file src/meson.build Hunk #1 succeeded at 173 (offset -1 lines). Hunk #2 succeeded at 474 (offset -1 lines). Hunk #3 succeeded at 1030 (offset -1 lines). patching file src/meta/prefs.h patching file src/ui/frames.c patching file src/ui/frames.h patching file src/wayland/meta-window-wayland.c patching file src/shell-blur-effect.c patching file src/shell-blur-effect.h patching file clutter/clutter/clutter-frame-clock.c patching file clutter/clutter/clutter-frame-clock.h patching file clutter/clutter/clutter-frame-private.h patching file clutter/clutter/clutter-frame.c patching file clutter/clutter/clutter-frame.h patching file clutter/clutter/clutter-stage-view.c patching file cogl/cogl/cogl-onscreen-private.h patching file cogl/cogl/cogl-onscreen.c patching file src/backends/meta-stage-impl.c patching file src/backends/native/meta-crtc-kms.c patching file src/backends/native/meta-cursor-renderer-native.c patching file src/backends/native/meta-kms-crtc.c patching file src/backends/native/meta-kms-crtc.h patching file src/backends/native/meta-kms-impl-device-atomic.c patching file src/backends/native/meta-kms-impl-device-simple.c patching file src/backends/native/meta-kms-impl-device.c patching file src/backends/native/meta-kms-page-flip.c patching file src/backends/native/meta-kms-update-private.h patching file src/backends/native/meta-kms-update.c patching file src/backends/native/meta-kms.c patching file src/backends/native/meta-kms.h patching file src/backends/native/meta-onscreen-native.c patching file src/backends/native/meta-onscreen-native.h patching file src/backends/native/meta-renderer-native.c patch unexpectedly ends in middle of line ==> Starting pkgver()... ==> Starting build()... + exec meson setup --prefix /usr --libexecdir lib --sbindir bin --buildtype plain --auto-features enabled --wrap-mode nodownload -D b_lto=true -D b_pie=true mutter-rounded build -D egl_device=true -D wayland_eglstream=true -D installed_tests=false The Meson build system Version: 0.62.1 Source dir: /home/b/mutter-rounded/src/mutter-rounded Build dir: /home/b/mutter-rounded/src/build Build type: native build Project name: mutter Project version: 42.1 C compiler for the host machine: cc (gcc 11.2.0 "cc (GCC) 11.2.0") C linker for the host machine: cc ld.bfd 2.38 Host machine cpu family: x86_64 Host machine cpu: x86_64 Compiler for C supports link arguments -Wl,--disable-new-dtags: YES Library m found: YES Found pkg-config: /usr/bin/pkg-config (1.8.0) Run-time dependency x11 found: YES 1.8 Run-time dependency graphene-gobject-1.0 found: YES 1.10.8 Run-time dependency gtk+-3.0 found: YES 3.24.33 Run-time dependency gdk-pixbuf-2.0 found: YES 2.42.8 Run-time dependency pango found: YES 1.50.7 Run-time dependency cairo found: YES 1.17.6 Run-time dependency cairo-gobject found: YES 1.17.6 Run-time dependency pangocairo found: YES 1.50.7 Run-time dependency fribidi found: YES 1.0.12 Run-time dependency gsettings-desktop-schemas found: YES 41.0 Run-time dependency glib-2.0 found: YES 2.72.1 Run-time dependency gio-unix-2.0 found: YES 2.72.1 Dependency gio-unix-2.0 found: YES 2.72.1 (cached) Run-time dependency gobject-2.0 found: YES 2.72.1 Dependency gobject-2.0 found: YES 2.72.1 (cached) Run-time dependency gmodule-no-export-2.0 found: YES 2.72.1 Run-time dependency gnome-settings-daemon found: YES 41.0 Run-time dependency json-glib-1.0 found: YES 1.6.6 Run-time dependency xcomposite found: YES 0.4.5 Run-time dependency xcursor found: YES 1.2.1 Run-time dependency xdamage found: YES 1.1.5 Run-time dependency xext found: YES 1.3.4 Run-time dependency xfixes found: YES 6.0.0 Run-time dependency xi found: YES 1.8 Run-time dependency xtst found: YES 1.2.3 Run-time dependency xkbfile found: YES 1.1.0 Run-time dependency xkeyboard-config found: YES 2.35.1 Run-time dependency xkbcommon found: YES 1.4.0 Run-time dependency xkbcommon-x11 found: YES 1.4.0 Run-time dependency xrender found: YES 0.9.10 Run-time dependency x11-xcb found: YES 1.8 Run-time dependency xrandr found: YES 1.5.2 Run-time dependency xcb-randr found: YES 1.15 Run-time dependency xcb-res found: YES 1.15 Run-time dependency xinerama found: YES 1.1.4 Run-time dependency xau found: YES 1.0.9 Run-time dependency ice found: YES 1.0.10 Run-time dependency atk found: YES 2.38.0 Run-time dependency libcanberra found: YES 0.30 Run-time dependency dbus-1 found: YES 1.14.0 Run-time dependency gnome-desktop-3.0 found: YES 41.5 Run-time dependency gl found: YES 1.2 Run-time dependency egl found: YES 1.5 Run-time dependency glesv2 found: YES 3.2 Run-time dependency wayland-server found: YES 1.20.0 Run-time dependency wayland-client found: YES 1.20.0 Run-time dependency wayland-protocols found: YES 1.25 Run-time dependency wayland-egl found: YES 18.1.0 Run-time dependency libudev found: YES 250 Run-time dependency gudev-1.0 found: YES 237 Run-time dependency udev found: YES 250 Run-time dependency libsystemd found: YES 250 Run-time dependency libdrm found: YES 2.4.110 Run-time dependency gbm found: YES 22.0.3 Run-time dependency libinput found: YES 1.20.1 Run-time dependency wayland-eglstream-protocols found: YES 1.1.9 Library dl found: YES Run-time dependency sm found: YES 1.2.3 Run-time dependency libwacom found: YES 2.2.0 Run-time dependency pangoft2 found: YES 1.50.7 Run-time dependency libstartup-notification-1.0 found: YES 0.12 Run-time dependency libpipewire-0.3 found: YES 0.3.51 Run-time dependency gobject-introspection-1.0 found: YES 1.72.0 Program src/tests/meta-dbus-runner.py found: YES (/home/b/mutter-rounded/src/mutter-rounded/src/tests/meta-dbus-runner.py) Program xvfb-run found: YES (/usr/bin/xvfb-run) Run-time dependency sysprof-capture-4 found: YES 3.44.0 Checking for function "ffs" : YES Checking for function "clz" : YES Checking for function "memmem" : YES Header has symbol "prctl" : YES Run-time dependency xwayland found: YES 22.1.1 Header has symbol "getrandom" : YES Checking for function "XSetIOErrorExitHandler" with dependency x11: YES Checking for function "mkostemp" : YES Checking for function "posix_fallocate" : YES Checking for function "memfd_create" : YES Configuring config.h using configuration Configuring cogl-config.h using configuration Configuring cogl-defines.h using configuration Configuring cogl-gl-header.h using configuration Configuring cogl-egl-defines.h using configuration Dependency gobject-introspection-1.0 found: YES 1.72.0 (cached) Dependency gobject-introspection-1.0 found: YES 1.72.0 (cached) Program g-ir-scanner found: YES (/usr/bin/g-ir-scanner) Dependency gobject-introspection-1.0 found: YES 1.72.0 (cached) Program g-ir-compiler found: YES (/usr/bin/g-ir-compiler) Program run-tests.sh found: YES (/home/b/mutter-rounded/src/mutter-rounded/cogl/tests/run-tests.sh) Configuring config.env using configuration Program meson/find-conform-unit-tests.sh found: YES (/home/b/mutter-rounded/src/mutter-rounded/cogl/tests/conform/meson/find-conform-unit-tests.sh) Program meson/find-unit-tests.sh found: YES (/home/b/mutter-rounded/src/mutter-rounded/cogl/tests/unit/meson/find-unit-tests.sh) Configuring clutter-build-config.h using configuration Program glib-mkenums found: YES (/usr/bin/glib-mkenums) Program glib-mkenums found: YES (/usr/bin/glib-mkenums) Found pkg-config: /usr/bin/pkg-config (1.8.0) Program glib-genmarshal found: YES (/usr/bin/glib-genmarshal) Program msgfmt found: YES (/usr/bin/msgfmt) Configuring org.gnome.mutter.gschema.xml using configuration Configuring org.gnome.mutter.wayland.gschema.xml using configuration Program glib-mkenums found: YES (/usr/bin/glib-mkenums) Program glib-mkenums found: YES (/usr/bin/glib-mkenums) Program glib-mkenums found: YES (/usr/bin/glib-mkenums) Program glib-mkenums found: YES (/usr/bin/glib-mkenums) Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen) Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen) Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen) Program cvt found: YES (/usr/bin/cvt) Program backends/native/gen-default-modes.py found: YES (/home/b/mutter-rounded/src/mutter-rounded/src/backends/native/gen-default-modes.py) Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen) Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen) Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen) Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen) Program wayland-scanner found: YES (/usr/bin/wayland-scanner) Program glib-mkenums found: YES (/usr/bin/glib-mkenums) Program glib-mkenums found: YES (/usr/bin/glib-mkenums) Program meson/gen-test-unit-names.sh found: YES (/home/b/mutter-rounded/src/mutter-rounded/src/tests/clutter/interactive/meson/gen-test-unit-names.sh) Program meta-dbus-runner.py found: YES (/home/b/mutter-rounded/src/mutter-rounded/src/tests/meta-dbus-runner.py) Program msgfmt found: YES (/usr/bin/msgfmt) Program msginit found: YES (/usr/bin/msginit) Program msgmerge found: YES (/usr/bin/msgmerge) Program xgettext found: YES (/usr/bin/xgettext) Build targets in project: 270 NOTICE: Future-deprecated features used: * 0.56.0: {'dependency.get_pkgconfig_variable'} mutter 42.1 Directories prefix : /usr libexecdir : /usr/lib pkgdatadir : /usr/share/mutter-10 Build Configuration buildtype : plain debug : False Rendering APIs OpenGL : True GLES2 : True EGL : True GLX : True Options Wayland : True Wayland EGLStream : True Native Backend : True EGL Device : True Remote desktop : True libgnome-desktop : True gudev : True Wacom : True SM : True Startup notification : True Introspection : True Documentation : False Profiler : True Xwayland initfd : True Xwayland listenfd : True Safe X11 I/O errors : True Xwayland terminate delay: True Tests Enabled : True Core tests : True Cogl tests : True Clutter tests : True KVM tests : False Installed tests : False Coverage : False User defined options auto_features : enabled buildtype : plain libexecdir : lib prefix : /usr sbindir : bin wrap_mode : nodownload b_lto : true b_pie : true egl_device : true installed_tests : false wayland_eglstream : true Found ninja-1.10.2 at /usr/bin/ninja ninja: Entering directory `/home/b/mutter-rounded/src/build' [262/1174] Compiling C object clutter/clutter/l...r-clutter-10.so.0.0.0.p/clutter-frame-clock.c.o ../mutter-rounded/clutter/clutter/clutter-frame-clock.c: In function ‘clutter_frame_clock_notify_presented’: ../mutter-rounded/clutter/clutter/clutter-frame-clock.c:236:15: warning: unused variable ‘debug_state’ [-Wunused-variable] 236 | const char *debug_state = | ^~~~~~~~~~~ [553/1174] Generating cogl/cogl/Cogl-10.gir with a custom command FAILED: cogl/cogl/Cogl-10.gir /usr/bin/g-ir-scanner --no-libtool --namespace=Cogl --nsversion=10 --warn-all --output cogl/cogl/Cogl-10.gir --c-include=cogl/cogl.h --quiet -U_GNU_SOURCE -UCOGL_COMPILATION -D__COGL_H_INSIDE__ -D__COGL_XLIB_H_INSIDE__ -D__COGL_EGL_H_INSIDE__ -D__COGL_GLX_H_INSIDE__ -DCOGL_GIR_SCANNING -I/home/b/mutter-rounded/src/mutter-rounded/cogl/cogl -I/home/b/mutter-rounded/src/build/cogl/cogl -I/home/b/mutter-rounded/src/mutter-rounded/cogl/. -I/home/b/mutter-rounded/src/build/cogl/. -I/home/b/mutter-rounded/src/mutter-rounded/cogl/cogl -I/home/b/mutter-rounded/src/build/cogl/cogl --filelist=/home/b/mutter-rounded/src/build/cogl/cogl/libmutter-cogl-10.so.0.0.0.p/Cogl_10_gir_filelist --include=cairo-1.0 --include=GL-1.0 --include=GObject-2.0 --include=Graphene-1.0 --cflags-begin -D_GNU_SOURCE -I/home/b/mutter-rounded/src/mutter-rounded/cogl/. -I/home/b/mutter-rounded/src/build/cogl/. -I/home/b/mutter-rounded/src/mutter-rounded/cogl/cogl -I/home/b/mutter-rounded/src/build/cogl/cogl -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/include/gio-unix-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/graphene-1.0 -I/usr/lib/graphene-1.0/include -I/usr/include/cairo -I/usr/include/lzo -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/gobject-introspection-1.0 --cflags-end --add-include-path=/usr/share/gir-1.0 -L/home/b/mutter-rounded/src/build/cogl/cogl --library mutter-cogl-10 -lglib-2.0 -lgio-2.0 -lgobject-2.0 -lgraphene-1.0 -lwayland-server -lEGL -lX11 -lGL -lGLESv2 -lcairo -lgmodule-2.0 -lgdk_pixbuf-2.0 -lsysprof-capture-4 -lXext -lXfixes -lXdamage -lXcomposite -lXrandr -lm -lgirepository-1.0 Traceback (most recent call last): File "/usr/bin/g-ir-scanner", line 98, in from giscanner.scannermain import scanner_main File "/usr/lib/gobject-introspection/giscanner/scannermain.py", line 35, in from giscanner.ast import Include, Namespace File "/usr/lib/gobject-introspection/giscanner/ast.py", line 29, in from .sourcescanner import CTYPE_TYPEDEF, CSYMBOL_TYPE_TYPEDEF File "/usr/lib/gobject-introspection/giscanner/sourcescanner.py", line 34, in from giscanner._giscanner import SourceScanner as CSourceScanner ModuleNotFoundError: No module named 'giscanner._giscanner' [565/1174] Compiling C object src/libmutter-10.....0.0.p/backends_meta-screen-cast-stream-src.c.o In file included from /usr/lib/glib-2.0/include/glibconfig.h:9, from /usr/include/glib-2.0/glib/gtypes.h:32, from /usr/include/glib-2.0/glib/galloca.h:32, from /usr/include/glib-2.0/glib.h:30, from /usr/include/glib-2.0/gobject/gbinding.h:28, from /usr/include/glib-2.0/glib-object.h:22, from ../mutter-rounded/src/backends/meta-screen-cast-stream-src.h:26, from ../mutter-rounded/src/backends/meta-screen-cast-stream-src.c:25: ../mutter-rounded/src/backends/meta-screen-cast-stream-src.c: In function ‘meta_screen_cast_stream_src_dispose’: ../mutter-rounded/src/backends/meta-screen-cast-stream-src.c:1301:20: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 1301 | g_clear_pointer ((GSource **) &priv->pipewire_source, g_source_destroy); /usr/include/glib-2.0/glib/gmacros.h:820:47: note: in definition of macro ‘G_STATIC_ASSERT’ 820 | #define G_STATIC_ASSERT(expr) _Static_assert (expr, "Expression evaluates to false") | ^~~~ ../mutter-rounded/src/backends/meta-screen-cast-stream-src.c:1301:3: note: in expansion of macro ‘g_clear_pointer’ 1301 | g_clear_pointer ((GSource **) &priv->pipewire_source, g_source_destroy); | ^~~~~~~~~~~~~~~ In file included from /usr/include/glib-2.0/glib/gatomic.h:28, from /usr/include/glib-2.0/glib/gthread.h:32, from /usr/include/glib-2.0/glib/gasyncqueue.h:32, from /usr/include/glib-2.0/glib.h:32, from /usr/include/glib-2.0/gobject/gbinding.h:28, from /usr/include/glib-2.0/glib-object.h:22, from ../mutter-rounded/src/backends/meta-screen-cast-stream-src.h:26, from ../mutter-rounded/src/backends/meta-screen-cast-stream-src.c:25: ../mutter-rounded/src/backends/meta-screen-cast-stream-src.c:1301:20: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 1301 | g_clear_pointer ((GSource **) &priv->pipewire_source, g_source_destroy); /usr/include/glib-2.0/glib/glib-typeof.h:36:36: note: in definition of macro ‘glib_typeof’ 36 | #define glib_typeof(t) __typeof__ (t) | ^ ../mutter-rounded/src/backends/meta-screen-cast-stream-src.c:1301:3: note: in expansion of macro ‘g_clear_pointer’ 1301 | g_clear_pointer ((GSource **) &priv->pipewire_source, g_source_destroy); | ^~~~~~~~~~~~~~~ [566/1174] Compiling C object src/libmutter-10.so.0.0.0.p/core_meta-selection-source-remote.c.o ninja: build stopped: subcommand failed. ==> ERROR: A failure occurred in build(). Aborting... ```
KCGD commented 2 years ago

Ok, I got it working.

First of all, mutter (and mutter-rounded) ARE version spesific to your respective gnome version. I was trying to build and install the latest version, which is build for gnome 42.

To get the appropriate version, I went to the AUR page -> Package options > view changes, and went to the "Bump version to 41.5-1" entree, and downloaded the pkgbuild from there. AUR page here Make sure to pass --nocheck to makepkg or the build will fail!

For me, the build would always fail at around 270, this was due to an out of date python version and some missing python packages. To fix this, install python 3.10.4 (easiest way is through anaconda), and once activated, install dbusmock and python-dbusmock through pip.

By now, mutter-rounded had installed successfully, but the key "rounded-in-maximized" for some reason failed to generate in the mutter schema. So I added it manually into org.gnome.mutter (commands below)

first, start editing the schema: sudo nano /usr/share/glib-2.0/schemas/org.gnome.mutter.gschema.xml

then write in:

    <key name="rounded-in-maximized" type="b">
        <default>false</default>
        <summary>Enable rounded corners when windows maximized</summary>
        <description>
            When true, the windows will always be clipped when maximized
        </description>
    </key>

lastly, compile the schemas: sudo glib-compile-schemas /usr/share/glib-2.0/schemas

After this, it should work correctly in 41.5 :)