Compilation failure for OBS 27.0 / pipewire 0.3.25
Background information
[johannes@CACTUS ~]$ obs --version
OBS Studio - 27.0.0.rc1.r11.ga79b6d6f7 (linux)
[johannes@CACTUS ~]$ pipewire --version
pipewire
Compiled with libpipewire 0.3.25
Linked with libpipewire 0.3.25
Compilation output
[johannes@CACTUS obs-xdg-portal-git]$ makepkg -si
==> Making package: obs-xdg-portal-git 0.1.2.r21.g8430c46-1 (Thu 08 Apr 2021 08:46:24 AM CEST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Cloning obs-xdg-portal git repo...
Cloning into bare repository '/tmp/obs-xdg-portal-git/obs-xdg-portal'...
warning: redirecting to https://gitlab.gnome.org/feaneron/obs-xdg-portal.git/
remote: Enumerating objects: 203, done.
remote: Counting objects: 100% (203/203), done.
remote: Compressing objects: 100% (164/164), done.
remote: Total 251 (delta 130), reused 74 (delta 39), pack-reused 48
Receiving objects: 100% (251/251), 84.70 KiB | 262.00 KiB/s, done.
Resolving deltas: 100% (154/154), done.
==> Validating source files with sha256sums...
obs-xdg-portal ... Skipped
==> Extracting sources...
-> Creating working copy of obs-xdg-portal git repo...
Cloning into 'obs-xdg-portal'...
done.
==> Starting pkgver()...
==> Updated version: obs-xdg-portal-git 0.1.2.r40.gee5241a-1
==> 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 obs-xdg-portal build
The Meson build system
Version: 0.57.1
Source dir: /tmp/obs-xdg-portal-git/src/obs-xdg-portal
Build dir: /tmp/obs-xdg-portal-git/src/build
Build type: native build
Project name: obs-xdg-portal
Project version: undefined
C compiler for the host machine: cc (gcc 10.2.0 "cc (GCC) 10.2.0")
C linker for the host machine: cc ld.bfd 2.36.1
Host machine cpu family: x86_64
Host machine cpu: x86_64
Found pkg-config: /usr/bin/pkg-config (1.7.3)
Run-time dependency libobs found: YES 27.0.0.rc1.r11.ga79b6d6f7
Run-time dependency gio-2.0 found: YES 2.68.0
Run-time dependency gio-unix-2.0 found: YES 2.68.0
Run-time dependency libpipewire-0.3 found: YES 0.3.25
Run-time dependency libspa-0.2 found: YES 0.2
Run-time dependency xdg-desktop-portal found: YES 1.8.1
Build targets in project: 1
Found ninja-1.10.2 at /usr/bin/ninja
ninja: Entering directory `build'
[4/5] Compiling C object obs-xdg-portal.so.p/pipewire.c.o
FAILED: obs-xdg-portal.so.p/pipewire.c.o
cc -Iobs-xdg-portal.so.p -I. -I../obs-xdg-portal -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gio-unix-2.0 -I/usr/include/pipewire-0.3 -I/usr/include/spa-0.2 -flto=auto -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -march=x86-64 -mtune=generic -O2 -fno-plt -D_FORTIFY_SOURCE=2 -fPIC -D_REENTRANT -pthread -MD -MQ obs-xdg-portal.so.p/pipewire.c.o -MF obs-xdg-portal.so.p/pipewire.c.o.d -o obs-xdg-portal.so.p/pipewire.c.o -c ../obs-xdg-portal/pipewire.c
../obs-xdg-portal/pipewire.c: In function ‘on_process_cb’:
../obs-xdg-portal/pipewire.c:354:40: warning: passing argument 5 of ‘gs_texture_create_from_dmabuf’ makes integer from pointer without a cast [-Wint-conversion]
354 | fds,
| ^~~
| |
| int *
In file included from /usr/include/obs/obs.h:24,
from /usr/include/obs/obs-module.h:20,
from ../obs-xdg-portal/pipewire.h:23,
from ../obs-xdg-portal/pipewire.c:21:
/usr/include/obs/graphics/graphics.h:922:46: note: expected ‘uint32_t’ {aka ‘unsigned int’} but argument is of type ‘int *’
922 | enum gs_color_format color_format, uint32_t n_planes, const int *fds,
| ~~~~~~~~~^~~~~~~~
../obs-xdg-portal/pipewire.c:355:40: warning: pointer targets in passing argument 6 of ‘gs_texture_create_from_dmabuf’ differ in signedness [-Wpointer-sign]
355 | strides,
| ^~~~~~~
| |
| uint32_t * {aka unsigned int *}
In file included from /usr/include/obs/obs.h:24,
from /usr/include/obs/obs-module.h:20,
from ../obs-xdg-portal/pipewire.h:23,
from ../obs-xdg-portal/pipewire.c:21:
/usr/include/obs/graphics/graphics.h:922:67: note: expected ‘const int *’ but argument is of type ‘uint32_t *’ {aka ‘unsigned int *’}
922 | enum gs_color_format color_format, uint32_t n_planes, const int *fds,
| ~~~~~~~~~~~^~~
../obs-xdg-portal/pipewire.c:357:40: warning: passing argument 8 of ‘gs_texture_create_from_dmabuf’ from incompatible pointer type [-Wincompatible-pointer-types]
357 | modifiers);
| ^~~~~~~~~
| |
| uint64_t * {aka long unsigned int *}
In file included from /usr/include/obs/obs.h:24,
from /usr/include/obs/obs-module.h:20,
from ../obs-xdg-portal/pipewire.h:23,
from ../obs-xdg-portal/pipewire.c:21:
/usr/include/obs/graphics/graphics.h:923:43: note: expected ‘const uint32_t *’ {aka ‘const unsigned int *’} but argument is of type ‘uint64_t *’ {aka ‘long unsigned int *’}
923 | const uint32_t *strides, const uint32_t *offsets,
| ~~~~~~~~~~~~~~~~^~~~~~~
../obs-xdg-portal/pipewire.c:350:9: error: too few arguments to function ‘gs_texture_create_from_dmabuf’
350 | gs_texture_create_from_dmabuf (xdg->format.info.raw.size.width,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/obs/obs.h:24,
from /usr/include/obs/obs-module.h:20,
from ../obs-xdg-portal/pipewire.h:23,
from ../obs-xdg-portal/pipewire.c:21:
/usr/include/obs/graphics/graphics.h:920:22: note: declared here
920 | EXPORT gs_texture_t *gs_texture_create_from_dmabuf(
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ninja: build stopped: subcommand failed.
==> ERROR: A failure occurred in build().
Aborting...