Compiling error under Arch Linux
Following the descriptions at the Readme fie (or trying to install the AUR package via yay) both results in a compilation error:
[ 3%] Building CXX object CMakeFiles/huenicorn.dir/src/Platforms/GnuLinux/GnuLinuxAdapter.cpp.o
In file included from /usr/include/spa-0.2/spa/param/format-utils.h:18,
from /usr/include/spa-0.2/spa/param/video/format-utils.h:12,
from /home/wuki/Downloads/huenicorn/include/Huenicorn/Platforms/GnuLinux/PipewireGrabber.hpp:12,
from /home/wuki/Downloads/huenicorn/src/Platforms/GnuLinux/GnuLinuxAdapter.cpp:9:
/usr/include/spa-0.2/spa/pod/parser.h: In function 'void spa_pod_parser_init(spa_pod_parser*, const void*, uint32_t)':
/usr/include/spa-0.2/spa/pod/parser.h:36:94: error: missing initializer for member 'spa_pod_parser_state::flags' [-Werror=missing-field-initializers]
36 | #define SPA_POD_PARSER_INIT(buffer,size) ((struct spa_pod_parser){ (buffer), (size), 0, {0} })
| ^
/usr/include/spa-0.2/spa/pod/parser.h:41:19: note: in expansion of macro 'SPA_POD_PARSER_INIT'
41 | *parser = SPA_POD_PARSER_INIT(data, size);
| ^~~~~~~~~~~~~~~~~~~
/usr/include/spa-0.2/spa/pod/parser.h:36:94: error: missing initializer for member 'spa_pod_parser_state::frame' [-Werror=missing-field-initializers]
36 | #define SPA_POD_PARSER_INIT(buffer,size) ((struct spa_pod_parser){ (buffer), (size), 0, {0} })
| ^
/usr/include/spa-0.2/spa/pod/parser.h:41:19: note: in expansion of macro 'SPA_POD_PARSER_INIT'
41 | *parser = SPA_POD_PARSER_INIT(data, size);
| ^~~~~~~~~~~~~~~~~~~
In file included from /usr/include/spa-0.2/spa/param/video/raw-utils.h:18,
from /usr/include/spa-0.2/spa/param/video/format-utils.h:14:
/usr/include/spa-0.2/spa/pod/builder.h: In function 'void spa_pod_builder_init(spa_pod_builder*, void*, uint32_t)':
/usr/include/spa-0.2/spa/pod/builder.h:52:101: error: missing initializer for member 'spa_pod_builder_state::flags' [-Werror=missing-field-initializers]
52 | #define SPA_POD_BUILDER_INIT(buffer,size) ((struct spa_pod_builder){ (buffer), (size), 0, {0}, {0} })
| ^
/usr/include/spa-0.2/spa/pod/builder.h:79:20: note: in expansion of macro 'SPA_POD_BUILDER_INIT'
79 | *builder = SPA_POD_BUILDER_INIT(data, size);
| ^~~~~~~~~~~~~~~~~~~~
/usr/include/spa-0.2/spa/pod/builder.h:52:101: error: missing initializer for member 'spa_pod_builder_state::frame' [-Werror=missing-field-initializers]
52 | #define SPA_POD_BUILDER_INIT(buffer,size) ((struct spa_pod_builder){ (buffer), (size), 0, {0}, {0} })
| ^
/usr/include/spa-0.2/spa/pod/builder.h:79:20: note: in expansion of macro 'SPA_POD_BUILDER_INIT'
79 | *builder = SPA_POD_BUILDER_INIT(data, size);
| ^~~~~~~~~~~~~~~~~~~~
/usr/include/spa-0.2/spa/pod/builder.h:52:101: error: missing initializer for member 'spa_callbacks::data' [-Werror=missing-field-initializers]
52 | #define SPA_POD_BUILDER_INIT(buffer,size) ((struct spa_pod_builder){ (buffer), (size), 0, {0}, {0} })
| ^
/usr/include/spa-0.2/spa/pod/builder.h:79:20: note: in expansion of macro 'SPA_POD_BUILDER_INIT'
79 | *builder = SPA_POD_BUILDER_INIT(data, size);
| ^~~~~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
make[2]: *** [CMakeFiles/huenicorn.dir/build.make:370: CMakeFiles/huenicorn.dir/src/Platforms/GnuLinux/GnuLinuxAdapter.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/huenicorn.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
I am using the latest version and have directly cloned from the repository.
That seems to be related to a pipewire bug, but I am not sure about the details: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/4325
Edited by Jan Martin Reckel