radeonsi, radv: fails to build on non-Linux
Regressed by cf24d155 and c58cff3c. CC @JoshuaAshton @jsg @manu. According to POSIX.1-2017 ENODATA
is part of obsolete (since POSIX.1-2008 aka X/Open Issue 7) and optional STREAMS API, phased out in favor of Berkeley sockets. DRM on NetBSD has native ENODATA
while OpenBSD converts to ENOTSUP
and FreeBSD + DragonFly convert to ECONNREFUSED
. Note, FreeBSD and NetBSD had but removed minimal STREAMS (ABI without API) support.
See also c0dc5c18 and 32b94df2 fixing similar missing errno.
$ meson setup \
--auto-features=disabled \
-Ddri3=enabled \
-Dgallium-drivers=radeonsi \
-Dplatforms=x11 \
-Dshared-glapi=enabled \
-Dvulkan-drivers=amd \
_build
$ meson compile -C _build
[...]
../src/gallium/winsys/amdgpu/drm/amdgpu_cs.c:1622:24: error: use of undeclared identifier 'ENODATA'
1622 | } else if (r == -ENODATA) {
| ^
../src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c:1747:24: error: use of undeclared identifier 'ENODATA'
} else if (r == -ENODATA) {
^
Edited by Jan Beich