yshui / picom

A lightweight compositor for X11 with animation support
https://picom.app/
Other
4.19k stars 589 forks source link

undefined reference to symbol 'dlopen@@GLIBC_2.17' #1295

Closed zai1208 closed 3 months ago

zai1208 commented 3 months ago

Platform

Debian 11 aarch64

GPU, drivers, and screen setup

name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Mesa/X.org (0x1af4)
    Device: virgl (0x1010)
    Version: 20.3.5
    Accelerated: yes
    Video memory: 0MB
    Unified memory: no
    Preferred profile: compat (0x2)
    Max core profile version: 0.0
    Max compat profile version: 2.1
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.0
OpenGL vendor string: Mesa/X.org
OpenGL renderer string: virgl
OpenGL version string: 2.1 Mesa 20.3.5
OpenGL shading language version string: 1.20

OpenGL ES profile version string: OpenGL ES 3.0 Mesa 20.3.5
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00

Environment

i3wm

Other details

When I try to compile with meson compile -C builddir I get the following error

ninja: Entering directory `/home/debian/picom/builddir'
[1/1] Linking target src/picom
FAILED: src/picom 
cc  -o src/picom src/picom.p/picom.c.o src/picom.p/c2.c.o src/picom.p/x.c.o src/picom.p/config.c.o src/picom.p/vsync.c.o src/picom.p/diagnostic.c.o src/picom.p/render.c.o src/picom.p/log.c.o src/picom.p/options.c.o src/picom.p/event.c.o src/picom.p/atom.c.o src/picom.p/vblank.c.o src/picom.p/config_libconfig.c.o src/picom.p/inspect.c.o src/picom.p/api.c.o src/picom.p/opengl.c.o src/picom.p/dbus.c.o src/picom.p/rtkit.c.o src/picom.p/backend_dummy_dummy.c.o src/picom.p/backend_backend.c.o src/picom.p/backend_backend_common.c.o src/picom.p/backend_driver.c.o src/picom.p/backend_xrender_xrender.c.o src/picom.p/backend_gl_blur.c.o src/picom.p/backend_gl_egl.c.o src/picom.p/backend_gl_gl_common.c.o src/picom.p/backend_gl_glx.c.o src/picom.p/backend_gl_shaders.c.o src/picom.p/wm_win.c.o src/picom.p/wm_wm.c.o src/picom.p/wm_tree.c.o src/picom.p/renderer_command_builder.c.o src/picom.p/renderer_damage.c.o src/picom.p/renderer_layout.c.o src/picom.p/renderer_renderer.c.o src/picom.p/transition_curve.c.o src/picom.p/transition_script.c.o src/picom.p/utils_cache.c.o src/picom.p/utils_file_watch.c.o src/picom.p/utils_kernel.c.o src/picom.p/utils_statistics.c.o src/picom.p/utils_str.c.o src/picom.p/utils_misc.c.o -Wl,--as-needed -Wl,--no-undefined -Wl,-export-dynamic -Wl,--start-group subprojects/libconfig/libconfig.a -lm -lev /usr/lib/aarch64-linux-gnu/libpixman-1.so /usr/lib/aarch64-linux-gnu/libX11.so /usr/lib/aarch64-linux-gnu/libX11-xcb.so /usr/lib/aarch64-linux-gnu/libxcb.so /usr/lib/aarch64-linux-gnu/libxcb-image.so /usr/lib/aarch64-linux-gnu/libxcb-shm.so /usr/lib/aarch64-linux-gnu/libxcb-render-util.so /usr/lib/aarch64-linux-gnu/libxcb-render.so /usr/lib/aarch64-linux-gnu/libxcb-util.so -pthread /usr/lib/aarch64-linux-gnu/libxcb-composite.so /usr/lib/aarch64-linux-gnu/libxcb-damage.so /usr/lib/aarch64-linux-gnu/libxcb-glx.so /usr/lib/aarch64-linux-gnu/libxcb-present.so /usr/lib/aarch64-linux-gnu/libxcb-randr.so /usr/lib/aarch64-linux-gnu/libxcb-shape.so /usr/lib/aarch64-linux-gnu/libxcb-sync.so /usr/lib/aarch64-linux-gnu/libxcb-xfixes.so /usr/lib/aarch64-linux-gnu/libpcre2-8.so /usr/lib/aarch64-linux-gnu/libepoxy.so /usr/lib/aarch64-linux-gnu/libdbus-1.so -Wl,--end-group
/usr/bin/ld: src/picom.p/config.c.o: undefined reference to symbol 'dlopen@@GLIBC_2.17'
/usr/bin/ld: /lib/aarch64-linux-gnu/libdl.so.2: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
INFO: autodetecting backend as ninja
INFO: calculating backend command to run: /usr/bin/ninja -C /home/debian/picom/builddir

I have tried installing every dependency, my c compiler is gcc, I have tried clang and g++, they both give the same error, please help.

yshui commented 3 months ago

Try https://github.com/yshui/picom/commit/daf6eabc960c9d8b9e566653ac2d302c69ebfdaf

zai1208 commented 3 months ago

I now get the following error:

ninja: Entering directory `/home/debian/picom/builddir'
[1/41] Compiling C object src/picom.p/config.c.o
FAILED: src/picom.p/config.c.o 
cc -Isrc/picom.p -Isrc -I../src -I../include -I../subprojects/libconfig/lib -Isubprojects/libconfig/__CMake_build -I../subprojects/libconfig/__CMake_build -Isubprojects/libconfig -I../subprojects/libconfig -Isubprojects/test.h -I../subprojects/test.h -I/usr/include/pixman-1 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -fvisibility=hidden -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c11 '-DPICOM_VERSION="vgit-76af4"' -D_GNU_SOURCE -DHAS_STDC_PREDEF_H -Wcast-function-type -Wignored-qualifiers -Wmissing-parameter-type -Wnonnull -Wshadow -Wno-type-limits -Wold-style-declaration -Woverride-init -Wsign-compare -Wtype-limits -Wuninitialized -Wshift-negative-value -Wunused-but-set-parameter -Wunused-parameter -Wimplicit-fallthrough=2 -Wno-missing-braces -Wconversion -Wempty-body -DLIBCONFIG_STATIC -pthread -DCONFIG_REGEX_PCRE -DCONFIG_OPENGL -DCONFIG_DBUS -DHAS_INOTIFY -MD -MQ src/picom.p/config.c.o -MF src/picom.p/config.c.o.d -o src/picom.p/config.c.o -c ../src/config.c
In file included from ../src/x.h:18,
                 from ../src/backend/gl/glx.h:11,
                 from ../src/common.h:38,
                 from ../src/config.c:23:
../src/region.h: In function ‘log_region_’:
../src/region.h:57:41: warning: passing argument 1 of ‘pixman_region32_extents’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   57 |   auto extent = pixman_region32_extents(x);
      |                                         ^
In file included from ../src/common.h:28,
                 from ../src/config.c:23:
/usr/include/pixman-1/pixman.h:729:80: note: expected ‘pixman_region32_t *’ {aka ‘struct pixman_region32 *’} but argument is of type ‘const region_t *’ {aka ‘const struct pixman_region32 *’}
  729 | pixman_box32_t *        pixman_region32_extents            (pixman_region32_t *region);
      |                                                             ~~~~~~~~~~~~~~~~~~~^~~~~~
In file included from ../src/x.h:18,
                 from ../src/backend/gl/glx.h:11,
                 from ../src/common.h:38,
                 from ../src/config.c:23:
../src/region.h: In function ‘region_subtract’:
../src/region.h:147:43: warning: passing argument 3 of ‘pixman_region32_subtract’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  147 |  pixman_region32_subtract(region, region, other);
      |                                           ^~~~~
In file included from ../src/common.h:28,
                 from ../src/config.c:23:
/usr/include/pixman-1/pixman.h:708:31: note: expected ‘pixman_region32_t *’ {aka ‘struct pixman_region32 *’} but argument is of type ‘const region_t *’ {aka ‘const struct pixman_region32 *’}
  708 |            pixman_region32_t *reg_s);
      |            ~~~~~~~~~~~~~~~~~~~^~~~~
In file included from ../src/x.h:18,
                 from ../src/backend/gl/glx.h:11,
                 from ../src/common.h:38,
                 from ../src/config.c:23:
../src/region.h: In function ‘region_union’:
../src/region.h:154:40: warning: passing argument 3 of ‘pixman_region32_union’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  154 |  pixman_region32_union(region, region, other);
      |                                        ^~~~~
In file included from ../src/common.h:28,
                 from ../src/config.c:23:
/usr/include/pixman-1/pixman.h:687:31: note: expected ‘pixman_region32_t *’ {aka ‘struct pixman_region32 *’} but argument is of type ‘const region_t *’ {aka ‘const struct pixman_region32 *’}
  687 |            pixman_region32_t *reg2);
      |            ~~~~~~~~~~~~~~~~~~~^~~~
In file included from ../src/x.h:18,
                 from ../src/backend/gl/glx.h:11,
                 from ../src/common.h:38,
                 from ../src/config.c:23:
../src/region.h: In function ‘region_intersect’:
../src/region.h:161:44: warning: passing argument 3 of ‘pixman_region32_intersect’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  161 |  pixman_region32_intersect(region, region, other);
      |                                            ^~~~~
In file included from ../src/common.h:28,
                 from ../src/config.c:23:
/usr/include/pixman-1/pixman.h:682:31: note: expected ‘pixman_region32_t *’ {aka ‘struct pixman_region32 *’} but argument is of type ‘const region_t *’ {aka ‘const struct pixman_region32 *’}
  682 |            pixman_region32_t *reg2);
      |            ~~~~~~~~~~~~~~~~~~~^~~~
In file included from ../src/x.h:18,
                 from ../src/backend/gl/glx.h:11,
                 from ../src/common.h:38,
                 from ../src/config.c:23:
../src/region.h: In function ‘region_symmetric_difference_local’:
../src/region.h:196:32: warning: passing argument 2 of ‘pixman_region32_copy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  196 |  pixman_region32_copy(scratch, region1);
      |                                ^~~~~~~
In file included from ../src/common.h:28,
                 from ../src/config.c:23:
/usr/include/pixman-1/pixman.h:677:31: note: expected ‘pixman_region32_t *’ {aka ‘struct pixman_region32 *’} but argument is of type ‘const region_t *’ {aka ‘const struct pixman_region32 *’}
  677 |            pixman_region32_t *source);
      |            ~~~~~~~~~~~~~~~~~~~^~~~~~
In file included from ../src/x.h:18,
                 from ../src/backend/gl/glx.h:11,
                 from ../src/common.h:38,
                 from ../src/config.c:23:
../src/region.h:197:45: warning: passing argument 3 of ‘pixman_region32_subtract’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  197 |  pixman_region32_subtract(scratch, scratch, region2);
      |                                             ^~~~~~~
In file included from ../src/common.h:28,
                 from ../src/config.c:23:
/usr/include/pixman-1/pixman.h:708:31: note: expected ‘pixman_region32_t *’ {aka ‘struct pixman_region32 *’} but argument is of type ‘const region_t *’ {aka ‘const struct pixman_region32 *’}
  708 |            pixman_region32_t *reg_s);
      |            ~~~~~~~~~~~~~~~~~~~^~~~~
In file included from ../src/x.h:18,
                 from ../src/backend/gl/glx.h:11,
                 from ../src/common.h:38,
                 from ../src/config.c:23:
../src/region.h:200:32: warning: passing argument 2 of ‘pixman_region32_copy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  200 |  pixman_region32_copy(scratch, region2);
      |                                ^~~~~~~
In file included from ../src/common.h:28,
                 from ../src/config.c:23:
/usr/include/pixman-1/pixman.h:677:31: note: expected ‘pixman_region32_t *’ {aka ‘struct pixman_region32 *’} but argument is of type ‘const region_t *’ {aka ‘const struct pixman_region32 *’}
  677 |            pixman_region32_t *source);
      |            ~~~~~~~~~~~~~~~~~~~^~~~~~
In file included from ../src/x.h:18,
                 from ../src/backend/gl/glx.h:11,
                 from ../src/common.h:38,
                 from ../src/config.c:23:
../src/region.h:201:45: warning: passing argument 3 of ‘pixman_region32_subtract’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  201 |  pixman_region32_subtract(scratch, scratch, region1);
      |                                             ^~~~~~~
In file included from ../src/common.h:28,
                 from ../src/config.c:23:
/usr/include/pixman-1/pixman.h:708:31: note: expected ‘pixman_region32_t *’ {aka ‘struct pixman_region32 *’} but argument is of type ‘const region_t *’ {aka ‘const struct pixman_region32 *’}
  708 |            pixman_region32_t *reg_s);
      |            ~~~~~~~~~~~~~~~~~~~^~~~~
../src/config.c: In function ‘parse_window_shader_prefix_with_cwd’:
../src/config.c:625:78: error: parameter name omitted
  625 | void *parse_window_shader_prefix_with_cwd(const char *src, const char **end, void *) {
      |                                                                              ^~~~~~
[2/41] Compiling C object src/picom.p/log.c.o
[3/41] Compiling C object src/picom.p/picom.c.o
FAILED: src/picom.p/picom.c.o 
cc -Isrc/picom.p -Isrc -I../src -I../include -I../subprojects/libconfig/lib -Isubprojects/libconfig/__CMake_build -I../subprojects/libconfig/__CMake_build -Isubprojects/libconfig -I../subprojects/libconfig -Isubprojects/test.h -I../subprojects/test.h -I/usr/include/pixman-1 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -fvisibility=hidden -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c11 '-DPICOM_VERSION="vgit-76af4"' -D_GNU_SOURCE -DHAS_STDC_PREDEF_H -Wcast-function-type -Wignored-qualifiers -Wmissing-parameter-type -Wnonnull -Wshadow -Wno-type-limits -Wold-style-declaration -Woverride-init -Wsign-compare -Wtype-limits -Wuninitialized -Wshift-negative-value -Wunused-but-set-parameter -Wunused-parameter -Wimplicit-fallthrough=2 -Wno-missing-braces -Wconversion -Wempty-body -DLIBCONFIG_STATIC -pthread -DCONFIG_REGEX_PCRE -DCONFIG_OPENGL -DCONFIG_DBUS -DHAS_INOTIFY -MD -MQ src/picom.p/picom.c.o -MF src/picom.p/picom.c.o.d -o src/picom.p/picom.c.o -c ../src/picom.c
In file included from ../src/x.h:18,
                 from ../src/backend/gl/glx.h:11,
                 from ../src/common.h:38,
                 from ../src/opengl.h:6,
                 from ../src/picom.c:43:
../src/region.h: In function ‘log_region_’:
../src/region.h:57:41: warning: passing argument 1 of ‘pixman_region32_extents’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   57 |   auto extent = pixman_region32_extents(x);
      |                                         ^
In file included from ../src/common.h:28,
                 from ../src/opengl.h:6,
                 from ../src/picom.c:43:
/usr/include/pixman-1/pixman.h:729:80: note: expected ‘pixman_region32_t *’ {aka ‘struct pixman_region32 *’} but argument is of type ‘const region_t *’ {aka ‘const struct pixman_region32 *’}
  729 | pixman_box32_t *        pixman_region32_extents            (pixman_region32_t *region);
      |                                                             ~~~~~~~~~~~~~~~~~~~^~~~~~
In file included from ../src/x.h:18,
                 from ../src/backend/gl/glx.h:11,
                 from ../src/common.h:38,
                 from ../src/opengl.h:6,
                 from ../src/picom.c:43:
../src/region.h: In function ‘region_subtract’:
../src/region.h:147:43: warning: passing argument 3 of ‘pixman_region32_subtract’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  147 |  pixman_region32_subtract(region, region, other);
      |                                           ^~~~~
In file included from ../src/common.h:28,
                 from ../src/opengl.h:6,
                 from ../src/picom.c:43:
/usr/include/pixman-1/pixman.h:708:31: note: expected ‘pixman_region32_t *’ {aka ‘struct pixman_region32 *’} but argument is of type ‘const region_t *’ {aka ‘const struct pixman_region32 *’}
  708 |            pixman_region32_t *reg_s);
      |            ~~~~~~~~~~~~~~~~~~~^~~~~
In file included from ../src/x.h:18,
                 from ../src/backend/gl/glx.h:11,
                 from ../src/common.h:38,
                 from ../src/opengl.h:6,
                 from ../src/picom.c:43:
../src/region.h: In function ‘region_union’:
../src/region.h:154:40: warning: passing argument 3 of ‘pixman_region32_union’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  154 |  pixman_region32_union(region, region, other);
      |                                        ^~~~~
In file included from ../src/common.h:28,
                 from ../src/opengl.h:6,
                 from ../src/picom.c:43:
/usr/include/pixman-1/pixman.h:687:31: note: expected ‘pixman_region32_t *’ {aka ‘struct pixman_region32 *’} but argument is of type ‘const region_t *’ {aka ‘const struct pixman_region32 *’}
  687 |            pixman_region32_t *reg2);
      |            ~~~~~~~~~~~~~~~~~~~^~~~
In file included from ../src/x.h:18,
                 from ../src/backend/gl/glx.h:11,
                 from ../src/common.h:38,
                 from ../src/opengl.h:6,
                 from ../src/picom.c:43:
../src/region.h: In function ‘region_intersect’:
../src/region.h:161:44: warning: passing argument 3 of ‘pixman_region32_intersect’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  161 |  pixman_region32_intersect(region, region, other);
      |                                            ^~~~~
In file included from ../src/common.h:28,
                 from ../src/opengl.h:6,
                 from ../src/picom.c:43:
/usr/include/pixman-1/pixman.h:682:31: note: expected ‘pixman_region32_t *’ {aka ‘struct pixman_region32 *’} but argument is of type ‘const region_t *’ {aka ‘const struct pixman_region32 *’}
  682 |            pixman_region32_t *reg2);
      |            ~~~~~~~~~~~~~~~~~~~^~~~
In file included from ../src/x.h:18,
                 from ../src/backend/gl/glx.h:11,
                 from ../src/common.h:38,
                 from ../src/opengl.h:6,
                 from ../src/picom.c:43:
../src/region.h: In function ‘region_symmetric_difference_local’:
../src/region.h:196:32: warning: passing argument 2 of ‘pixman_region32_copy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  196 |  pixman_region32_copy(scratch, region1);
      |                                ^~~~~~~
In file included from ../src/common.h:28,
                 from ../src/opengl.h:6,
                 from ../src/picom.c:43:
/usr/include/pixman-1/pixman.h:677:31: note: expected ‘pixman_region32_t *’ {aka ‘struct pixman_region32 *’} but argument is of type ‘const region_t *’ {aka ‘const struct pixman_region32 *’}
  677 |            pixman_region32_t *source);
      |            ~~~~~~~~~~~~~~~~~~~^~~~~~
In file included from ../src/x.h:18,
                 from ../src/backend/gl/glx.h:11,
                 from ../src/common.h:38,
                 from ../src/opengl.h:6,
                 from ../src/picom.c:43:
../src/region.h:197:45: warning: passing argument 3 of ‘pixman_region32_subtract’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  197 |  pixman_region32_subtract(scratch, scratch, region2);
      |                                             ^~~~~~~
In file included from ../src/common.h:28,
                 from ../src/opengl.h:6,
                 from ../src/picom.c:43:
/usr/include/pixman-1/pixman.h:708:31: note: expected ‘pixman_region32_t *’ {aka ‘struct pixman_region32 *’} but argument is of type ‘const region_t *’ {aka ‘const struct pixman_region32 *’}
  708 |            pixman_region32_t *reg_s);
      |            ~~~~~~~~~~~~~~~~~~~^~~~~
In file included from ../src/x.h:18,
                 from ../src/backend/gl/glx.h:11,
                 from ../src/common.h:38,
                 from ../src/opengl.h:6,
                 from ../src/picom.c:43:
../src/region.h:200:32: warning: passing argument 2 of ‘pixman_region32_copy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  200 |  pixman_region32_copy(scratch, region2);
      |                                ^~~~~~~
In file included from ../src/common.h:28,
                 from ../src/opengl.h:6,
                 from ../src/picom.c:43:
/usr/include/pixman-1/pixman.h:677:31: note: expected ‘pixman_region32_t *’ {aka ‘struct pixman_region32 *’} but argument is of type ‘const region_t *’ {aka ‘const struct pixman_region32 *’}
  677 |            pixman_region32_t *source);
      |            ~~~~~~~~~~~~~~~~~~~^~~~~~
In file included from ../src/x.h:18,
                 from ../src/backend/gl/glx.h:11,
                 from ../src/common.h:38,
                 from ../src/opengl.h:6,
                 from ../src/picom.c:43:
../src/region.h:201:45: warning: passing argument 3 of ‘pixman_region32_subtract’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  201 |  pixman_region32_subtract(scratch, scratch, region1);
      |                                             ^~~~~~~
In file included from ../src/common.h:28,
                 from ../src/opengl.h:6,
                 from ../src/picom.c:43:
/usr/include/pixman-1/pixman.h:708:31: note: expected ‘pixman_region32_t *’ {aka ‘struct pixman_region32 *’} but argument is of type ‘const region_t *’ {aka ‘const struct pixman_region32 *’}
  708 |            pixman_region32_t *reg_s);
      |            ~~~~~~~~~~~~~~~~~~~^~~~~
../src/picom.c: In function ‘handle_new_window_attributes_reply’:
../src/picom.c:1492:48: error: parameter name omitted
 1492 | static void handle_new_window_attributes_reply(struct x_connection * /*c*/,
      |                                                ^~~~~~~~~~~~~~~~~~~~~
../src/picom.c: In function ‘x_event_callback’:
../src/picom.c:1922:48: error: parameter name omitted
 1922 | static void x_event_callback(EV_P attr_unused, ev_io * /*w*/, int revents attr_unused) {
      |                                                ^~~~~~~
[4/41] Compiling C object src/picom.p/options.c.o
FAILED: src/picom.p/options.c.o 
cc -Isrc/picom.p -Isrc -I../src -I../include -I../subprojects/libconfig/lib -Isubprojects/libconfig/__CMake_build -I../subprojects/libconfig/__CMake_build -Isubprojects/libconfig -I../subprojects/libconfig -Isubprojects/test.h -I../subprojects/test.h -I/usr/include/pixman-1 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -fvisibility=hidden -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c11 '-DPICOM_VERSION="vgit-76af4"' -D_GNU_SOURCE -DHAS_STDC_PREDEF_H -Wcast-function-type -Wignored-qualifiers -Wmissing-parameter-type -Wnonnull -Wshadow -Wno-type-limits -Wold-style-declaration -Woverride-init -Wsign-compare -Wtype-limits -Wuninitialized -Wshift-negative-value -Wunused-but-set-parameter -Wunused-parameter -Wimplicit-fallthrough=2 -Wno-missing-braces -Wconversion -Wempty-body -DLIBCONFIG_STATIC -pthread -DCONFIG_REGEX_PCRE -DCONFIG_OPENGL -DCONFIG_DBUS -DHAS_INOTIFY -MD -MQ src/picom.p/options.c.o -MF src/picom.p/options.c.o.d -o src/picom.p/options.c.o -c ../src/options.c
In file included from ../src/x.h:18,
                 from ../src/backend/gl/glx.h:11,
                 from ../src/common.h:38,
                 from ../src/options.c:17:
../src/region.h: In function ‘log_region_’:
../src/region.h:57:41: warning: passing argument 1 of ‘pixman_region32_extents’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   57 |   auto extent = pixman_region32_extents(x);
      |                                         ^
In file included from ../include/picom/backend.h:6,
                 from ../src/backend/backend.h:8,
                 from ../src/options.c:15:
/usr/include/pixman-1/pixman.h:729:80: note: expected ‘pixman_region32_t *’ {aka ‘struct pixman_region32 *’} but argument is of type ‘const region_t *’ {aka ‘const struct pixman_region32 *’}
  729 | pixman_box32_t *        pixman_region32_extents            (pixman_region32_t *region);
      |                                                             ~~~~~~~~~~~~~~~~~~~^~~~~~
In file included from ../src/x.h:18,
                 from ../src/backend/gl/glx.h:11,
                 from ../src/common.h:38,
                 from ../src/options.c:17:
../src/region.h: In function ‘region_subtract’:
../src/region.h:147:43: warning: passing argument 3 of ‘pixman_region32_subtract’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  147 |  pixman_region32_subtract(region, region, other);
      |                                           ^~~~~
In file included from ../include/picom/backend.h:6,
                 from ../src/backend/backend.h:8,
                 from ../src/options.c:15:
/usr/include/pixman-1/pixman.h:708:31: note: expected ‘pixman_region32_t *’ {aka ‘struct pixman_region32 *’} but argument is of type ‘const region_t *’ {aka ‘const struct pixman_region32 *’}
  708 |            pixman_region32_t *reg_s);
      |            ~~~~~~~~~~~~~~~~~~~^~~~~
In file included from ../src/x.h:18,
                 from ../src/backend/gl/glx.h:11,
                 from ../src/common.h:38,
                 from ../src/options.c:17:
../src/region.h: In function ‘region_union’:
../src/region.h:154:40: warning: passing argument 3 of ‘pixman_region32_union’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  154 |  pixman_region32_union(region, region, other);
      |                                        ^~~~~
In file included from ../include/picom/backend.h:6,
                 from ../src/backend/backend.h:8,
                 from ../src/options.c:15:
/usr/include/pixman-1/pixman.h:687:31: note: expected ‘pixman_region32_t *’ {aka ‘struct pixman_region32 *’} but argument is of type ‘const region_t *’ {aka ‘const struct pixman_region32 *’}
  687 |            pixman_region32_t *reg2);
      |            ~~~~~~~~~~~~~~~~~~~^~~~
In file included from ../src/x.h:18,
                 from ../src/backend/gl/glx.h:11,
                 from ../src/common.h:38,
                 from ../src/options.c:17:
../src/region.h: In function ‘region_intersect’:
../src/region.h:161:44: warning: passing argument 3 of ‘pixman_region32_intersect’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  161 |  pixman_region32_intersect(region, region, other);
      |                                            ^~~~~
In file included from ../include/picom/backend.h:6,
                 from ../src/backend/backend.h:8,
                 from ../src/options.c:15:
/usr/include/pixman-1/pixman.h:682:31: note: expected ‘pixman_region32_t *’ {aka ‘struct pixman_region32 *’} but argument is of type ‘const region_t *’ {aka ‘const struct pixman_region32 *’}
  682 |            pixman_region32_t *reg2);
      |            ~~~~~~~~~~~~~~~~~~~^~~~
In file included from ../src/x.h:18,
                 from ../src/backend/gl/glx.h:11,
                 from ../src/common.h:38,
                 from ../src/options.c:17:
../src/region.h: In function ‘region_symmetric_difference_local’:
../src/region.h:196:32: warning: passing argument 2 of ‘pixman_region32_copy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  196 |  pixman_region32_copy(scratch, region1);
      |                                ^~~~~~~
In file included from ../include/picom/backend.h:6,
                 from ../src/backend/backend.h:8,
                 from ../src/options.c:15:
/usr/include/pixman-1/pixman.h:677:31: note: expected ‘pixman_region32_t *’ {aka ‘struct pixman_region32 *’} but argument is of type ‘const region_t *’ {aka ‘const struct pixman_region32 *’}
  677 |            pixman_region32_t *source);
      |            ~~~~~~~~~~~~~~~~~~~^~~~~~
In file included from ../src/x.h:18,
                 from ../src/backend/gl/glx.h:11,
                 from ../src/common.h:38,
                 from ../src/options.c:17:
../src/region.h:197:45: warning: passing argument 3 of ‘pixman_region32_subtract’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  197 |  pixman_region32_subtract(scratch, scratch, region2);
      |                                             ^~~~~~~
In file included from ../include/picom/backend.h:6,
                 from ../src/backend/backend.h:8,
                 from ../src/options.c:15:
/usr/include/pixman-1/pixman.h:708:31: note: expected ‘pixman_region32_t *’ {aka ‘struct pixman_region32 *’} but argument is of type ‘const region_t *’ {aka ‘const struct pixman_region32 *’}
  708 |            pixman_region32_t *reg_s);
      |            ~~~~~~~~~~~~~~~~~~~^~~~~
In file included from ../src/x.h:18,
                 from ../src/backend/gl/glx.h:11,
                 from ../src/common.h:38,
                 from ../src/options.c:17:
../src/region.h:200:32: warning: passing argument 2 of ‘pixman_region32_copy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  200 |  pixman_region32_copy(scratch, region2);
      |                                ^~~~~~~
In file included from ../include/picom/backend.h:6,
                 from ../src/backend/backend.h:8,
                 from ../src/options.c:15:
/usr/include/pixman-1/pixman.h:677:31: note: expected ‘pixman_region32_t *’ {aka ‘struct pixman_region32 *’} but argument is of type ‘const region_t *’ {aka ‘const struct pixman_region32 *’}
  677 |            pixman_region32_t *source);
      |            ~~~~~~~~~~~~~~~~~~~^~~~~~
In file included from ../src/x.h:18,
                 from ../src/backend/gl/glx.h:11,
                 from ../src/common.h:38,
                 from ../src/options.c:17:
../src/region.h:201:45: warning: passing argument 3 of ‘pixman_region32_subtract’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  201 |  pixman_region32_subtract(scratch, scratch, region1);
      |                                             ^~~~~~~
In file included from ../include/picom/backend.h:6,
                 from ../src/backend/backend.h:8,
                 from ../src/options.c:15:
/usr/include/pixman-1/pixman.h:708:31: note: expected ‘pixman_region32_t *’ {aka ‘struct pixman_region32 *’} but argument is of type ‘const region_t *’ {aka ‘const struct pixman_region32 *’}
  708 |            pixman_region32_t *reg_s);
      |            ~~~~~~~~~~~~~~~~~~~^~~~~
../src/options.c: In function ‘set_flag’:
../src/options.c:64:22: error: parameter name omitted
   64 | static bool set_flag(const struct picom_option * /*opt*/, const struct picom_arg *arg,
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/options.c:65:22: error: parameter name omitted
   65 |                      const char * /*arg_str*/, void *output) {
      |                      ^~~~~~~~~~~~
../src/options.c: In function ‘unset_flag’:
../src/options.c:70:24: error: parameter name omitted
   70 | static bool unset_flag(const struct picom_option * /*opt*/, const struct picom_arg *arg,
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/options.c:71:24: error: parameter name omitted
   71 |                        const char * /*arg_str*/, void *output) {
      |                        ^~~~~~~~~~~~
../src/options.c: In function ‘store_string’:
../src/options.c:116:26: error: parameter name omitted
  116 | static bool store_string(const struct picom_option * /*opt*/, const struct picom_arg *arg,
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/options.c: In function ‘store_rules’:
../src/options.c:124:25: error: parameter name omitted
  124 | static bool store_rules(const struct picom_option * /*opt*/, const struct picom_arg *arg,
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/options.c: In function ‘store_fixed_enum’:
../src/options.c:135:30: error: parameter name omitted
  135 | static bool store_fixed_enum(const struct picom_option * /*opt*/, const struct picom_arg *arg,
      |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/options.c:136:30: error: parameter name omitted
  136 |                              const char * /*arg_str*/, void *output) {
      |                              ^~~~~~~~~~~~
../src/options.c: In function ‘noop’:
../src/options.c:142:18: error: parameter name omitted
  142 | static bool noop(const struct picom_option * /*opt*/, const struct picom_arg * /*arg*/,
      |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/options.c:142:55: error: parameter name omitted
  142 | static bool noop(const struct picom_option * /*opt*/, const struct picom_arg * /*arg*/,
      |                                                       ^~~~~~~~~~~~~~~~~~~~~~~~
../src/options.c:143:18: error: parameter name omitted
  143 |                  const char * /*arg_str*/, void * /*output*/) {
      |                  ^~~~~~~~~~~~
../src/options.c:143:44: error: parameter name omitted
  143 |                  const char * /*arg_str*/, void * /*output*/) {
      |                                            ^~~~~~
../src/options.c: In function ‘reject’:
../src/options.c:147:20: error: parameter name omitted
  147 | static bool reject(const struct picom_option * /*opt*/, const struct picom_arg * /*arg*/,
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/options.c:147:57: error: parameter name omitted
  147 | static bool reject(const struct picom_option * /*opt*/, const struct picom_arg * /*arg*/,
      |                                                         ^~~~~~~~~~~~~~~~~~~~~~~~
../src/options.c:148:20: error: parameter name omitted
  148 |                    const char * /*arg_str*/, void * /*output*/) {
      |                    ^~~~~~~~~~~~
../src/options.c:148:46: error: parameter name omitted
  148 |                    const char * /*arg_str*/, void * /*output*/) {
      |                                              ^~~~~~
../src/options.c: In function ‘store_shadow_color’:
../src/options.c:255:20: error: parameter name omitted
  255 | store_shadow_color(const struct picom_option * /*opt*/, const struct picom_arg * /*arg*/,
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/options.c:255:57: error: parameter name omitted
  255 | store_shadow_color(const struct picom_option * /*opt*/, const struct picom_arg * /*arg*/,
      |                                                         ^~~~~~~~~~~~~~~~~~~~~~~~
../src/options.c: In function ‘handle_menu_opacity’:
../src/options.c:267:21: error: parameter name omitted
  267 | handle_menu_opacity(const struct picom_option * /*opt*/, const struct picom_arg * /*arg*/,
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/options.c:267:58: error: parameter name omitted
  267 | handle_menu_opacity(const struct picom_option * /*opt*/, const struct picom_arg * /*arg*/,
      |                                                          ^~~~~~~~~~~~~~~~~~~~~~~~
../src/options.c: In function ‘store_blur_kern’:
../src/options.c:283:17: error: parameter name omitted
  283 | store_blur_kern(const struct picom_option * /*opt*/, const struct picom_arg * /*arg*/,
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/options.c:283:54: error: parameter name omitted
  283 | store_blur_kern(const struct picom_option * /*opt*/, const struct picom_arg * /*arg*/,
      |                                                      ^~~~~~~~~~~~~~~~~~~~~~~~
../src/options.c: In function ‘store_benchmark_wid’:
../src/options.c:291:21: error: parameter name omitted
  291 | store_benchmark_wid(const struct picom_option * /*opt*/, const struct picom_arg * /*arg*/,
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/options.c:291:58: error: parameter name omitted
  291 | store_benchmark_wid(const struct picom_option * /*opt*/, const struct picom_arg * /*arg*/,
      |                                                          ^~~~~~~~~~~~~~~~~~~~~~~~
../src/options.c: In function ‘store_backend’:
../src/options.c:303:27: error: parameter name omitted
  303 | static bool store_backend(const struct picom_option * /*opt*/, const struct picom_arg * /*arg*/,
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/options.c:303:64: error: parameter name omitted
  303 | static bool store_backend(const struct picom_option * /*opt*/, const struct picom_arg * /*arg*/,
      |                                                                ^~~~~~~~~~~~~~~~~~~~~~~~
[5/41] Compiling C object src/picom.p/x.c.o
FAILED: src/picom.p/x.c.o 
cc -Isrc/picom.p -Isrc -I../src -I../include -I../subprojects/libconfig/lib -Isubprojects/libconfig/__CMake_build -I../subprojects/libconfig/__CMake_build -Isubprojects/libconfig -I../subprojects/libconfig -Isubprojects/test.h -I../subprojects/test.h -I/usr/include/pixman-1 -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -fvisibility=hidden -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c11 '-DPICOM_VERSION="vgit-76af4"' -D_GNU_SOURCE -DHAS_STDC_PREDEF_H -Wcast-function-type -Wignored-qualifiers -Wmissing-parameter-type -Wnonnull -Wshadow -Wno-type-limits -Wold-style-declaration -Woverride-init -Wsign-compare -Wtype-limits -Wuninitialized -Wshift-negative-value -Wunused-but-set-parameter -Wunused-parameter -Wimplicit-fallthrough=2 -Wno-missing-braces -Wconversion -Wempty-body -DLIBCONFIG_STATIC -pthread -DCONFIG_REGEX_PCRE -DCONFIG_OPENGL -DCONFIG_DBUS -DHAS_INOTIFY -MD -MQ src/picom.p/x.c.o -MF src/picom.p/x.c.o.d -o src/picom.p/x.c.o -c ../src/x.c
In file included from ../src/x.h:18,
                 from ../src/backend/gl/glx.h:11,
                 from ../src/common.h:38,
                 from ../src/x.c:26:
../src/region.h: In function ‘log_region_’:
../src/region.h:57:41: warning: passing argument 1 of ‘pixman_region32_extents’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   57 |   auto extent = pixman_region32_extents(x);
      |                                         ^
In file included from ../src/x.c:10:
/usr/include/pixman-1/pixman.h:729:80: note: expected ‘pixman_region32_t *’ {aka ‘struct pixman_region32 *’} but argument is of type ‘const region_t *’ {aka ‘const struct pixman_region32 *’}
  729 | pixman_box32_t *        pixman_region32_extents            (pixman_region32_t *region);
      |                                                             ~~~~~~~~~~~~~~~~~~~^~~~~~
In file included from ../src/x.h:18,
                 from ../src/backend/gl/glx.h:11,
                 from ../src/common.h:38,
                 from ../src/x.c:26:
../src/region.h: In function ‘region_subtract’:
../src/region.h:147:43: warning: passing argument 3 of ‘pixman_region32_subtract’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  147 |  pixman_region32_subtract(region, region, other);
      |                                           ^~~~~
In file included from ../src/x.c:10:
/usr/include/pixman-1/pixman.h:708:31: note: expected ‘pixman_region32_t *’ {aka ‘struct pixman_region32 *’} but argument is of type ‘const region_t *’ {aka ‘const struct pixman_region32 *’}
  708 |            pixman_region32_t *reg_s);
      |            ~~~~~~~~~~~~~~~~~~~^~~~~
In file included from ../src/x.h:18,
                 from ../src/backend/gl/glx.h:11,
                 from ../src/common.h:38,
                 from ../src/x.c:26:
../src/region.h: In function ‘region_union’:
../src/region.h:154:40: warning: passing argument 3 of ‘pixman_region32_union’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  154 |  pixman_region32_union(region, region, other);
      |                                        ^~~~~
In file included from ../src/x.c:10:
/usr/include/pixman-1/pixman.h:687:31: note: expected ‘pixman_region32_t *’ {aka ‘struct pixman_region32 *’} but argument is of type ‘const region_t *’ {aka ‘const struct pixman_region32 *’}
  687 |            pixman_region32_t *reg2);
      |            ~~~~~~~~~~~~~~~~~~~^~~~
In file included from ../src/x.h:18,
                 from ../src/backend/gl/glx.h:11,
                 from ../src/common.h:38,
                 from ../src/x.c:26:
../src/region.h: In function ‘region_intersect’:
../src/region.h:161:44: warning: passing argument 3 of ‘pixman_region32_intersect’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  161 |  pixman_region32_intersect(region, region, other);
      |                                            ^~~~~
In file included from ../src/x.c:10:
/usr/include/pixman-1/pixman.h:682:31: note: expected ‘pixman_region32_t *’ {aka ‘struct pixman_region32 *’} but argument is of type ‘const region_t *’ {aka ‘const struct pixman_region32 *’}
  682 |            pixman_region32_t *reg2);
      |            ~~~~~~~~~~~~~~~~~~~^~~~
In file included from ../src/x.h:18,
                 from ../src/backend/gl/glx.h:11,
                 from ../src/common.h:38,
                 from ../src/x.c:26:
../src/region.h: In function ‘region_symmetric_difference_local’:
../src/region.h:196:32: warning: passing argument 2 of ‘pixman_region32_copy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  196 |  pixman_region32_copy(scratch, region1);
      |                                ^~~~~~~
In file included from ../src/x.c:10:
/usr/include/pixman-1/pixman.h:677:31: note: expected ‘pixman_region32_t *’ {aka ‘struct pixman_region32 *’} but argument is of type ‘const region_t *’ {aka ‘const struct pixman_region32 *’}
  677 |            pixman_region32_t *source);
      |            ~~~~~~~~~~~~~~~~~~~^~~~~~
In file included from ../src/x.h:18,
                 from ../src/backend/gl/glx.h:11,
                 from ../src/common.h:38,
                 from ../src/x.c:26:
../src/region.h:197:45: warning: passing argument 3 of ‘pixman_region32_subtract’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  197 |  pixman_region32_subtract(scratch, scratch, region2);
      |                                             ^~~~~~~
In file included from ../src/x.c:10:
/usr/include/pixman-1/pixman.h:708:31: note: expected ‘pixman_region32_t *’ {aka ‘struct pixman_region32 *’} but argument is of type ‘const region_t *’ {aka ‘const struct pixman_region32 *’}
  708 |            pixman_region32_t *reg_s);
      |            ~~~~~~~~~~~~~~~~~~~^~~~~
In file included from ../src/x.h:18,
                 from ../src/backend/gl/glx.h:11,
                 from ../src/common.h:38,
                 from ../src/x.c:26:
../src/region.h:200:32: warning: passing argument 2 of ‘pixman_region32_copy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  200 |  pixman_region32_copy(scratch, region2);
      |                                ^~~~~~~
In file included from ../src/x.c:10:
/usr/include/pixman-1/pixman.h:677:31: note: expected ‘pixman_region32_t *’ {aka ‘struct pixman_region32 *’} but argument is of type ‘const region_t *’ {aka ‘const struct pixman_region32 *’}
  677 |            pixman_region32_t *source);
      |            ~~~~~~~~~~~~~~~~~~~^~~~~~
In file included from ../src/x.h:18,
                 from ../src/backend/gl/glx.h:11,
                 from ../src/common.h:38,
                 from ../src/x.c:26:
../src/region.h:201:45: warning: passing argument 3 of ‘pixman_region32_subtract’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  201 |  pixman_region32_subtract(scratch, scratch, region1);
      |                                             ^~~~~~~
In file included from ../src/x.c:10:
/usr/include/pixman-1/pixman.h:708:31: note: expected ‘pixman_region32_t *’ {aka ‘struct pixman_region32 *’} but argument is of type ‘const region_t *’ {aka ‘const struct pixman_region32 *’}
  708 |            pixman_region32_t *reg_s);
      |            ~~~~~~~~~~~~~~~~~~~^~~~~
../src/x.c: In function ‘x_handle_update_monitors_reply’:
../src/x.c:908:44: error: parameter name omitted
  908 | static void x_handle_update_monitors_reply(struct x_connection * /*c*/,
      |                                            ^~~~~~~~~~~~~~~~~~~~~
[6/41] Compiling C object src/picom.p/render.c.o
In file included from ../src/x.h:18,
                 from ../src/backend/gl/glx.h:11,
                 from ../src/common.h:38,
                 from ../src/render.c:15:
../src/region.h: In function ‘log_region_’:
../src/region.h:57:41: warning: passing argument 1 of ‘pixman_region32_extents’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   57 |   auto extent = pixman_region32_extents(x);
      |                                         ^
In file included from ../src/common.h:28,
                 from ../src/render.c:15:
/usr/include/pixman-1/pixman.h:729:80: note: expected ‘pixman_region32_t *’ {aka ‘struct pixman_region32 *’} but argument is of type ‘const region_t *’ {aka ‘const struct pixman_region32 *’}
  729 | pixman_box32_t *        pixman_region32_extents            (pixman_region32_t *region);
      |                                                             ~~~~~~~~~~~~~~~~~~~^~~~~~
In file included from ../src/x.h:18,
                 from ../src/backend/gl/glx.h:11,
                 from ../src/common.h:38,
                 from ../src/render.c:15:
../src/region.h: In function ‘region_subtract’:
../src/region.h:147:43: warning: passing argument 3 of ‘pixman_region32_subtract’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  147 |  pixman_region32_subtract(region, region, other);
      |                                           ^~~~~
In file included from ../src/common.h:28,
                 from ../src/render.c:15:
/usr/include/pixman-1/pixman.h:708:31: note: expected ‘pixman_region32_t *’ {aka ‘struct pixman_region32 *’} but argument is of type ‘const region_t *’ {aka ‘const struct pixman_region32 *’}
  708 |            pixman_region32_t *reg_s);
      |            ~~~~~~~~~~~~~~~~~~~^~~~~
In file included from ../src/x.h:18,
                 from ../src/backend/gl/glx.h:11,
                 from ../src/common.h:38,
                 from ../src/render.c:15:
../src/region.h: In function ‘region_union’:
../src/region.h:154:40: warning: passing argument 3 of ‘pixman_region32_union’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  154 |  pixman_region32_union(region, region, other);
      |                                        ^~~~~
In file included from ../src/common.h:28,
                 from ../src/render.c:15:
/usr/include/pixman-1/pixman.h:687:31: note: expected ‘pixman_region32_t *’ {aka ‘struct pixman_region32 *’} but argument is of type ‘const region_t *’ {aka ‘const struct pixman_region32 *’}
  687 |            pixman_region32_t *reg2);
      |            ~~~~~~~~~~~~~~~~~~~^~~~
In file included from ../src/x.h:18,
                 from ../src/backend/gl/glx.h:11,
                 from ../src/common.h:38,
                 from ../src/render.c:15:
../src/region.h: In function ‘region_intersect’:
../src/region.h:161:44: warning: passing argument 3 of ‘pixman_region32_intersect’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  161 |  pixman_region32_intersect(region, region, other);
      |                                            ^~~~~
In file included from ../src/common.h:28,
                 from ../src/render.c:15:
/usr/include/pixman-1/pixman.h:682:31: note: expected ‘pixman_region32_t *’ {aka ‘struct pixman_region32 *’} but argument is of type ‘const region_t *’ {aka ‘const struct pixman_region32 *’}
  682 |            pixman_region32_t *reg2);
      |            ~~~~~~~~~~~~~~~~~~~^~~~
In file included from ../src/x.h:18,
                 from ../src/backend/gl/glx.h:11,
                 from ../src/common.h:38,
                 from ../src/render.c:15:
../src/region.h: In function ‘region_symmetric_difference_local’:
../src/region.h:196:32: warning: passing argument 2 of ‘pixman_region32_copy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  196 |  pixman_region32_copy(scratch, region1);
      |                                ^~~~~~~
In file included from ../src/common.h:28,
                 from ../src/render.c:15:
/usr/include/pixman-1/pixman.h:677:31: note: expected ‘pixman_region32_t *’ {aka ‘struct pixman_region32 *’} but argument is of type ‘const region_t *’ {aka ‘const struct pixman_region32 *’}
  677 |            pixman_region32_t *source);
      |            ~~~~~~~~~~~~~~~~~~~^~~~~~
In file included from ../src/x.h:18,
                 from ../src/backend/gl/glx.h:11,
                 from ../src/common.h:38,
                 from ../src/render.c:15:
../src/region.h:197:45: warning: passing argument 3 of ‘pixman_region32_subtract’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  197 |  pixman_region32_subtract(scratch, scratch, region2);
      |                                             ^~~~~~~
In file included from ../src/common.h:28,
                 from ../src/render.c:15:
/usr/include/pixman-1/pixman.h:708:31: note: expected ‘pixman_region32_t *’ {aka ‘struct pixman_region32 *’} but argument is of type ‘const region_t *’ {aka ‘const struct pixman_region32 *’}
  708 |            pixman_region32_t *reg_s);
      |            ~~~~~~~~~~~~~~~~~~~^~~~~
In file included from ../src/x.h:18,
                 from ../src/backend/gl/glx.h:11,
                 from ../src/common.h:38,
                 from ../src/render.c:15:
../src/region.h:200:32: warning: passing argument 2 of ‘pixman_region32_copy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  200 |  pixman_region32_copy(scratch, region2);
      |                                ^~~~~~~
In file included from ../src/common.h:28,
                 from ../src/render.c:15:
/usr/include/pixman-1/pixman.h:677:31: note: expected ‘pixman_region32_t *’ {aka ‘struct pixman_region32 *’} but argument is of type ‘const region_t *’ {aka ‘const struct pixman_region32 *’}
  677 |            pixman_region32_t *source);
      |            ~~~~~~~~~~~~~~~~~~~^~~~~~
In file included from ../src/x.h:18,
                 from ../src/backend/gl/glx.h:11,
                 from ../src/common.h:38,
                 from ../src/render.c:15:
../src/region.h:201:45: warning: passing argument 3 of ‘pixman_region32_subtract’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  201 |  pixman_region32_subtract(scratch, scratch, region1);
      |                                             ^~~~~~~
In file included from ../src/common.h:28,
                 from ../src/render.c:15:
/usr/include/pixman-1/pixman.h:708:31: note: expected ‘pixman_region32_t *’ {aka ‘struct pixman_region32 *’} but argument is of type ‘const region_t *’ {aka ‘const struct pixman_region32 *’}
  708 |            pixman_region32_t *reg_s);
      |            ~~~~~~~~~~~~~~~~~~~^~~~~
ninja: build stopped: subcommand failed.
INFO: autodetecting backend as ninja
INFO: calculating backend command to run: /usr/bin/ninja -C /home/debian/picom/builddir
yshui commented 3 months ago

Your compiler is too old

zai1208 commented 3 months ago

That fixed it, turns out Debian buster’s repositories are too old. I upgraded to Debian bookworm.