error: 'struct itimerspec' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
Warning on Alpine Linux Musl.
Also see: https://github.com/emersion/xdg-desktop-portal-wlr/issues/28
Full log:
komodo:~/Packages/xdg-desktop-portal-wlr$ ninja -C build
[1/19] Generating xdg_output_unstable_v1_xml_server_c with a custom command
[2/19] Generating xdg_output_unstable_v1_xml_client_h with a custom command
[3/19] Generating xdg_output_unstable_v1_xml_server_h with a custom command
[4/19] Generating wlr_screencopy_unstable_v1_xml_client_h with a custom command
[5/19] Generating wlr_screencopy_unstable_v1_xml_server_h with a custom command
[6/19] Generating wlr_screencopy_unstable_v1_xml_server_c with a custom command
[7/19] Compiling C object 'xdg-desktop-portal-wlr@exe/src_screencast_pipewire_screencast.c.o'
[8/19] Compiling C object 'xdg-desktop-portal-wlr@exe/src_screencast_wlr_screencast.c.o'
[9/19] Compiling C object 'xdg-desktop-portal-wlr@exe/src_screencast_screencast_common.c.o'
[10/19] Compiling C object 'xdg-desktop-portal-wlr@exe/src_screencast_screencast.c.o'
[11/19] Compiling C object 'xdg-desktop-portal-wlr@exe/src_screenshot_screenshot.c.o'
[12/19] Compiling C object 'protocols/8998617@@wl_protos@sta/meson-generated_.._wlr-screencopy-unstable-v1-protocol.c.o'
[13/19] Compiling C object 'xdg-desktop-portal-wlr@exe/src_core_session.c.o'
[14/19] Compiling C object 'xdg-desktop-portal-wlr@exe/src_core_request.c.o'
[15/19] Compiling C object 'xdg-desktop-portal-wlr@exe/src_core_logger.c.o'
In file included from /usr/include/spa-0.2/spa/support/loop.h:34,
from /usr/include/pipewire-0.3/pipewire/loop.h:32,
from /usr/include/pipewire-0.3/pipewire/context.h:65,
from /usr/include/pipewire-0.3/pipewire/protocol.h:36,
from /usr/include/pipewire-0.3/pipewire/proxy.h:103,
from /usr/include/pipewire-0.3/pipewire/client.h:35,
from /usr/include/pipewire-0.3/pipewire/pipewire.h:35,
from ../include/screencast_common.h:4,
from ../include/xdpw.h:11,
from ../src/screenshot/screenshot.c:7:
/usr/include/spa-0.2/spa/support/system.h:93:17: warning: 'struct itimerspec' declared inside parameter list will not be visible outside of this definition or declaration
93 | const struct itimerspec *new_value,
| ^~~~~~~~~~
/usr/include/spa-0.2/spa/support/system.h:96:19: warning: 'struct itimerspec' declared inside parameter list will not be visible outside of this definition or declaration
96 | int fd, struct itimerspec *curr_value);
| ^~~~~~~~~~
[16/19] Compiling C object 'xdg-desktop-portal-wlr@exe/src_core_main.c.o'
In file included from /usr/include/spa-0.2/spa/support/loop.h:34,
from /usr/include/pipewire-0.3/pipewire/loop.h:32,
from /usr/include/pipewire-0.3/pipewire/context.h:65,
from /usr/include/pipewire-0.3/pipewire/protocol.h:36,
from /usr/include/pipewire-0.3/pipewire/proxy.h:103,
from /usr/include/pipewire-0.3/pipewire/client.h:35,
from /usr/include/pipewire-0.3/pipewire/pipewire.h:35,
from ../include/screencast_common.h:4,
from ../include/xdpw.h:11,
from ../src/core/request.c:5:
/usr/include/spa-0.2/spa/support/system.h:93:17: warning: 'struct itimerspec' declared inside parameter list will not be visible outside of this definition or declaration
93 | const struct itimerspec *new_value,
| ^~~~~~~~~~
/usr/include/spa-0.2/spa/support/system.h:96:19: warning: 'struct itimerspec' declared inside parameter list will not be visible outside of this definition or declaration
96 | int fd, struct itimerspec *curr_value);
| ^~~~~~~~~~
[17/19] Compiling C object 'protocols/8998617@@wl_protos@sta/meson-generated_.._xdg-output-unstable-v1-protocol.c.o'
In file included from /usr/include/spa-0.2/spa/support/loop.h:34,
from /usr/include/pipewire-0.3/pipewire/loop.h:32,
from /usr/include/pipewire-0.3/pipewire/context.h:65,
from /usr/include/pipewire-0.3/pipewire/protocol.h:36,
from /usr/include/pipewire-0.3/pipewire/proxy.h:103,
from /usr/include/pipewire-0.3/pipewire/client.h:35,
from /usr/include/pipewire-0.3/pipewire/pipewire.h:35,
from ../include/screencast_common.h:4,
from ../include/pipewire_screencast.h:4,
from ../src/screencast/pipewire_screencast.c:1:
/usr/include/spa-0.2/spa/support/system.h:93:17: warning: 'struct itimerspec' declared inside parameter list will not be visible outside of this definition or declaration
93 | const struct itimerspec *new_value,
| ^~~~~~~~~~
/usr/include/spa-0.2/spa/support/system.h:96:19: warning: 'struct itimerspec' declared inside parameter list will not be visible outside of this definition or declaration
96 | int fd, struct itimerspec *curr_value);
| ^~~~~~~~~~
In file included from /usr/include/spa-0.2/spa/support/loop.h:34,
from /usr/include/pipewire-0.3/pipewire/loop.h:32,
from /usr/include/pipewire-0.3/pipewire/context.h:65,
from /usr/include/pipewire-0.3/pipewire/protocol.h:36,
from /usr/include/pipewire-0.3/pipewire/proxy.h:103,
from /usr/include/pipewire-0.3/pipewire/client.h:35,
from /usr/include/pipewire-0.3/pipewire/pipewire.h:35,
from ../include/screencast_common.h:4,
from ../include/xdpw.h:11,
from ../src/core/session.c:6:
/usr/include/spa-0.2/spa/support/system.h:93:17: warning: 'struct itimerspec' declared inside parameter list will not be visible outside of this definition or declaration
93 | const struct itimerspec *new_value,
| ^~~~~~~~~~
/usr/include/spa-0.2/spa/support/system.h:96:19: warning: 'struct itimerspec' declared inside parameter list will not be visible outside of this definition or declaration
96 | int fd, struct itimerspec *curr_value);
| ^~~~~~~~~~
[18/19] Linking static target protocols/libwl_protos.a
In file included from /usr/include/spa-0.2/spa/support/loop.h:34,
from /usr/include/pipewire-0.3/pipewire/loop.h:32,
from /usr/include/pipewire-0.3/pipewire/context.h:65,
from /usr/include/pipewire-0.3/pipewire/protocol.h:36,
from /usr/include/pipewire-0.3/pipewire/proxy.h:103,
from /usr/include/pipewire-0.3/pipewire/client.h:35,
from /usr/include/pipewire-0.3/pipewire/pipewire.h:35,
from ../src/core/main.c:6:
/usr/include/spa-0.2/spa/support/system.h:93:17: warning: 'struct itimerspec' declared inside parameter list will not be visible outside of this definition or declaration
93 | const struct itimerspec *new_value,
| ^~~~~~~~~~
/usr/include/spa-0.2/spa/support/system.h:96:19: warning: 'struct itimerspec' declared inside parameter list will not be visible outside of this definition or declaration
96 | int fd, struct itimerspec *curr_value);
| ^~~~~~~~~~
[19/19] Linking target xdg-desktop-portal-wlr