Build fails on musl libc systems
Error on Void Linux x86_64 cross-compiling to x86_64-musl
[33/152] Compiling C object 'spa/plugins/volume/spa-volume@sha/volume.c.o'.
FAILED: spa/plugins/volume/spa-volume@sha/volume.c.o
x86_64-linux-musl-gcc -D_FORTIFY_SOURCE=2 -O2 -pipe -mtune=generic -I/usr/x86_64-linux-musl/usr/include -Ispa/plugins/volume/spa-volume@sha -Ispa/plugins/volume -I../spa/plugins/volume -Ispa/include -I../spa/include -Ispa -I../spa -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -std=gnu99 -fPIC -MMD -MQ 'spa/plugins/volume/spa-volume@sha/volume.c.o' -MF 'spa/plugins/volume/spa-volume@sha/volume.c.o.d' -o 'spa/plugins/volume/spa-volume@sha/volume.c.o' -c ../spa/plugins/volume/volume.c
In file included from ../spa/plugins/volume/volume.c:31:0:
../spa/include/spa/param/meta.h: In function ‘spa_type_param_meta_map’:
../spa/include/spa/param/meta.h:49:19: error: unknown type name ‘off_t’
static struct { off_t offset; const char *type; } tab[] = {
^~~~~
ninja: build stopped: subcommand failed.
[68/152] Compiling C object 'src/pipewire/pipewire-0.1@sha/client.c.o'.
FAILED: src/pipewire/pipewire-0.1@sha/client.c.o
x86_64-linux-musl-gcc -D_FORTIFY_SOURCE=2 -O2 -pipe -mtune=generic -I/usr/x86_64-linux-musl/usr/include -Isrc/pipewire/pipewire-0.1@sha -Isrc/pipewire -I../src/pipewire -Isrc -I../src -I. -I../ -Ispa/include -I../spa/include -I/usr/x86_64-linux-musl/usr/include/dbus-1.0 -I/usr/x86_64-linux-musl/usr/lib/dbus-1.0/include -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -std=gnu99 -fPIC -DHAVE_CONFIG_H -D_GNU_SOURCE -D_POSIX_C_SOURCE -MMD -MQ 'src/pipewire/pipewire-0.1@sha/client.c.o' -MF 'src/pipewire/pipewire-0.1@sha/client.c.o.d' -o 'src/pipewire/pipewire-0.1@sha/client.c.o' -c ../src/pipewire/client.c
In file included from ../src/pipewire/client.c:27:0:
../src/pipewire/private.h:163:9: error: unknown type name ‘pthread_t’
pthread_t thread;
^~~~~~~~~
ninja: build stopped: subcommand failed.
[71/152] Compiling C object 'src/pipewire/pipewire-0.1@sha/data-loop.c.o'.
FAILED: src/pipewire/pipewire-0.1@sha/data-loop.c.o
x86_64-linux-musl-gcc -D_FORTIFY_SOURCE=2 -O2 -pipe -mtune=generic -I/usr/x86_64-linux-musl/usr/include -Isrc/pipewire/pipewire-0.1@sha -Isrc/pipewire -I../src/pipewire -Isrc -I../src -I. -I../ -Ispa/include -I../spa/include -I/usr/x86_64-linux-musl/usr/include/dbus-1.0 -I/usr/x86_64-linux-musl/usr/lib/dbus-1.0/include -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -std=gnu99 -fPIC -DHAVE_CONFIG_H -D_GNU_SOURCE -D_POSIX_C_SOURCE -MMD -MQ 'src/pipewire/pipewire-0.1@sha/data-loop.c.o' -MF 'src/pipewire/pipewire-0.1@sha/data-loop.c.o.d' -o 'src/pipewire/pipewire-0.1@sha/data-loop.c.o' -c ../src/pipewire/data-loop.c
../src/pipewire/data-loop.c: In function ‘make_realtime’:
../src/pipewire/data-loop.c:50:21: error: ‘RLIMIT_RTTIME’ undeclared (first use in this function); did you mean ‘RLIMIT_NOFILE’?
if ((r = setrlimit(RLIMIT_RTTIME, &rl)) < 0)
^~~~~~~~~~~~~
RLIMIT_NOFILE
../src/pipewire/data-loop.c:50:21: note: each undeclared identifier is reported only once for each function it appears in
ninja: build stopped: subcommand failed.