mutter-rounded icon indicating copy to clipboard operation
mutter-rounded copied to clipboard

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

Open KCGD opened this issue 3 years ago • 1 comments
trafficstars

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 <sys/prctl.h> has symbol "prctl" : YES 
Run-time dependency xwayland found: YES 22.1.1
Header <sys/random.h> 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 <module>
    from giscanner.scannermain import scanner_main
  File "/usr/lib/gobject-introspection/giscanner/scannermain.py", line 35, in <module>
    from giscanner.ast import Include, Namespace
  File "/usr/lib/gobject-introspection/giscanner/ast.py", line 29, in <module>
    from .sourcescanner import CTYPE_TYPEDEF, CSYMBOL_TYPE_TYPEDEF
  File "/usr/lib/gobject-introspection/giscanner/sourcescanner.py", line 34, in <module>
    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 avatar May 10 '22 14:05 KCGD

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 :)

KCGD avatar May 15 '22 22:05 KCGD