video part does not build on 32-bit
Using git up to ddf68248
configured like this:
bash-5.1$ meson --prefix=/usr --libdir=lib -Dvideo=true
The Meson build system
Version: 1.2.0
Source dir: /home/guest/botva/src/src/virglrenderer
Build dir: /home/guest/botva/src/src/virglrenderer/BUILD
Build type: native build
Project name: virglrenderer
Project version: 0.10.4
C compiler for the host machine: ccache cc (gcc 11.2.0 "cc (GCC) 11.2.0")
C linker for the host machine: cc ld.bfd 2.37-slack15
Host machine cpu family: x86
Host machine cpu: i686
Compiler for C supports arguments -Werror=enum-int-mismatch: NO
Compiler for C supports arguments -Werror=implicit-function-declaration: YES
Compiler for C supports arguments -Werror=missing-prototypes: YES
Compiler for C supports arguments -Werror=pedantic: YES
Compiler for C supports arguments -Wmissing-prototypes: YES
Compiler for C supports arguments -Werror=incompatible-pointer-types: YES
Compiler for C supports arguments -Werror=int-to-pointer-cast: YES
Compiler for C supports arguments -Werror=switch: YES
Compiler for C supports arguments -Wno-overlength-strings: YES
Compiler for C supports arguments -Wno-missing-field-initializers: YES
Compiler for C supports arguments -fvisibility=hidden: YES
Program python3 found: YES (/usr/bin/python3)
Found pkg-config: /usr/bin/pkg-config (0.29.1)
Run-time dependency libdrm found: YES 2.4.115
Run-time dependency threads found: YES
Run-time dependency epoxy found: YES 1.5.10
Library m found: YES
Has header "sys/uio.h" : YES
Has header "dlfcn.h" : YES
Checking for function "pthread_setaffinity_np" with dependency threads: YES
Has header "sys/eventfd.h" : YES
Has header "sys/select.h" : YES
Checking for function "bswap32" : YES
Checking for function "bswap64" : YES
Checking for function "clz" : YES
Checking for function "clzll" : YES
Checking for function "expect" : YES
Checking for function "ffs" : YES
Checking for function "ffsll" : YES
Checking for function "popcount" : YES
Checking for function "popcountll" : YES
Checking for function "types_compatible_p" : YES
Checking for function "unreachable" : YES
Compiler for C supports function attribute const: YES
Compiler for C supports function attribute flatten: YES
Compiler for C supports function attribute format: YES
Compiler for C supports function attribute malloc: YES
Compiler for C supports function attribute noreturn: YES
Compiler for C supports function attribute packed: YES
Compiler for C supports function attribute pure: YES
Compiler for C supports function attribute returns_nonnull: YES
Compiler for C supports function attribute unused: YES
Compiler for C supports function attribute warn_unused_result: YES
Compiler for C supports function attribute weak: YES
Checking for function "memfd_create" : YES
Checking for function "strtok_r" : YES
Checking for function "timespec_get" : YES
Has header "epoxy/egl.h" with dependency epoxy: YES
Run-time dependency gbm found: YES 23.3.0-devel
Has header "epoxy/glx.h" with dependency epoxy: YES
Run-time dependency x11 found: YES 1.8.6
Header "stdlib.h" has symbol "__STDC_NO_VLA__" : NO
Run-time dependency libva found: YES 1.19.0
Run-time dependency libva-drm found: YES 1.19.0
Configuring config.h using configuration
Build targets in project: 7
NOTICE: Future-deprecated features used:
* 1.1.0: {'"boolean option" keyword argument "value" of type str'}
virglrenderer 0.10.4
Directories
prefix : /usr
libdir : lib
Configuration
c_args :
egl : True
glx : True
gbm : True
minigbm_alloc : False
venus : False
drm-msm : False
render server (DEPRECATED): False
render server worker : none
video : True
tests : False
fuzzer : False
tracing : none
User defined options
libdir : lib
prefix : /usr
video : true
Found ninja-1.10.2 at /usr/bin/ninja
Cleaning... 0 files.
WARNING: Running the setup command as `meson [options]` instead of `meson setup [options]` is ambiguous and deprecated.
fails with errors:
bash-5.1$ LANG=C ninja
[1/5] Compiling C object src/libvirgl.a.p/virgl_video.c.o
FAILED: src/libvirgl.a.p/virgl_video.c.o
ccache cc -Isrc/libvirgl.a.p -Isrc -I../src -I../src/gallium/include -I../src/gallium/auxiliary -I../src/gallium/auxiliary/util -I. -I.. -I../src/venus -I../src/drm -I../src/drm/drm-uapi -Isrc/mesa -I../src/mesa -I../src/mesa/compat -I../src/mesa/pipe -I../src/mesa/util -I/usr/X11R7/include -I/usr/X11R7/include/libdrm -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=gnu11 -O3 -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=pedantic -Wmissing-prototypes -Werror=incompatible-pointer-types -Werror=int-to-pointer-cast -Werror=switch -Wno-overlength-strings -Wno-missing-field-initializers -fvisibility=hidden -imacros /home/guest/botva/src/src/virglrenderer/BUILD/config.h -DHAVE_CONFIG_H=1 -fPIC -pthread -MD -MQ src/libvirgl.a.p/virgl_video.c.o -MF src/libvirgl.a.p/virgl_video.c.o.d -o src/libvirgl.a.p/virgl_video.c.o -c ../src/virgl_video.c
In file included from ../src/virgl_video.c:68:
/usr/X11R7/include/va/va.h:2346:53: error: ISO C restricts enumerator values to range of 'int' [-Werror=pedantic]
2346 | VAEncPackedHeaderMiscMask va_deprecated_enum = 0x80000000,
| ^~~~~~~~~~
In file included from /usr/X11R7/include/va/va.h:5258,
from ../src/virgl_video.c:68:
/usr/X11R7/include/va/va_enc_hevc.h:323:53: error: ISO C restricts enumerator values to range of 'int' [-Werror=pedantic]
323 | VAEncPackedHeaderHEVC_SEI va_deprecated_enum = (0x80000000 | 1),
| ^
In file included from /usr/X11R7/include/va/va.h:5260,
from ../src/virgl_video.c:68:
/usr/X11R7/include/va/va_enc_h264.h:125:53: error: ISO C restricts enumerator values to range of 'int' [-Werror=pedantic]
125 | VAEncPackedHeaderH264_SEI va_deprecated_enum = (0x80000000 | 1),
| ^
cc1: some warnings being treated as errors
ninja: build stopped: subcommand failed.
If I remove '-Werror=pedantic', from meson.build it builds, but so far I haven't tested resulting library. ..