Fails to build with gssdp/gupnp 1.6
Despite current git HEAD contains commits to add support for gssdp and gupnp 1.6 it fails to build when using these dependencies.
Before even starting the build I spotted that libsoup2.4 is still in use. Since gssdp and gupnp 1.6 has been ported to libsoup-3.0 I don't think this will work (as I assume mixing libsoup2.4 and libsoup-3.0 in the same process is not supported).
Despite the above I still continued testing a build and the compiler gave me errors, like:
FAILED: rm/librm.so.2.2.3.p/rmssdp.c.o
cc -Irm/librm.so.2.2.3.p -Irm -I../rm -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/x86_64-linux-gnu -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/libsoup-2.4 -I/usr/include/libxml2 -I/usr/include/json-glib-1.0 -I/usr/include/opus -I/usr/include/gupnp-1.6 -I/usr/include/gssdp-1.6 -I/usr/include/libsoup-3.0 -I/usr/include/sysprof-4 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O0 -g -O2 -ffile-prefix-map=/build/librm-2.2.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -pthread -DRM_COMPILATION '-DG_LOG_DOMAIN="rm"' -MD -MQ rm/librm.so.2.2.3.p/rmssdp.c.o -MF rm/librm.so.2.2.3.p/rmssdp.c.o.d -o rm/librm.so.2.2.3.p/rmssdp.c.o -c ../rm/rmssdp.c
In file included from /usr/include/gupnp-1.6/libgupnp/gupnp.h:23,
from ../rm/rmssdp.c:32:
/usr/include/gupnp-1.6/libgupnp/gupnp-service.h:107:1: error: unknown type name ‘SoupServerMessage’; did you mean ‘SoupServerClass’?
107 | SoupServerMessage *
| ^~~~~~~~~~~~~~~~~
| SoupServerClass
../rm/rmssdp.c: In function ‘rm_device_proxy_available_cb’:
../rm/rmssdp.c:55:13: warning: assignment to ‘const SoupURI *’ {aka ‘const struct _SoupURI *’} from incompatible pointer type ‘const GUri *’ {aka ‘const struct _GUri *’} [-Wincompatible-pointer-types]
55 | uri = gupnp_device_info_get_url_base(info);
| ^
[41/82] cc -Irm/librm.so.2.2.3.p -Irm -I../rm -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/x86_64-linux-gnu -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/libsoup-2.4 -I/usr/include/libxml2 -I/usr/include/json-glib-1.0 -I/usr/include/opus -I/usr/include/gupnp-1.6 -I/usr/include/gssdp-1.6 -I/usr/include/libsoup-3.0 -I/usr/include/sysprof-4 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O0 -g -O2 -ffile-prefix-map=/build/librm-2.2.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -pthread -DRM_COMPILATION '-DG_LOG_DOMAIN="rm"' -MD -MQ rm/librm.so.2.2.3.p/rmrouter.c.o -MF rm/librm.so.2.2.3.p/rmrouter.c.o.d -o rm/librm.so.2.2.3.p/rmrouter.c.o -c ../rm/rmrouter.c
[42/82] cc -Irm/librm.so.2.2.3.p -Irm -I../rm -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/x86_64-linux-gnu -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/libsoup-2.4 -I/usr/include/libxml2 -I/usr/include/json-glib-1.0 -I/usr/include/opus -I/usr/include/gupnp-1.6 -I/usr/include/gssdp-1.6 -I/usr/include/libsoup-3.0 -I/usr/include/sysprof-4 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O0 -g -O2 -ffile-prefix-map=/build/librm-2.2.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -pthread -DRM_COMPILATION '-DG_LOG_DOMAIN="rm"' -MD -MQ rm/librm.so.2.2.3.p/rmvox.c.o -MF rm/librm.so.2.2.3.p/rmvox.c.o.d -o rm/librm.so.2.2.3.p/rmvox.c.o -c ../rm/rmvox.c
[43/82] cc -Irm/librm.so.2.2.3.p -Irm -I../rm -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/x86_64-linux-gnu -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/libsoup-2.4 -I/usr/include/libxml2 -I/usr/include/json-glib-1.0 -I/usr/include/opus -I/usr/include/gupnp-1.6 -I/usr/include/gssdp-1.6 -I/usr/include/libsoup-3.0 -I/usr/include/sysprof-4 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O0 -g -O2 -ffile-prefix-map=/build/librm-2.2.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -pthread -DRM_COMPILATION '-DG_LOG_DOMAIN="rm"' -MD -MQ rm/librm.so.2.2.3.p/rmxml.c.o -MF rm/librm.so.2.2.3.p/rmxml.c.o.d -o rm/librm.so.2.2.3.p/rmxml.c.o -c ../rm/rmxml.c
[44/82] cc -Iplugins/capi/libcapi.so.p -Iplugins/capi -I../plugins/capi -Irm -I../rm -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/x86_64-linux-gnu -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/libsoup-2.4 -I/usr/include/libxml2 -I/usr/include/json-glib-1.0 -I/usr/include/opus -I/usr/include/gupnp-1.6 -I/usr/include/gssdp-1.6 -I/usr/include/libsoup-3.0 -I/usr/include/sysprof-4 -I/usr/include/ -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O0 '-DG_LOG_DOMAIN="rm"' -g -O2 -ffile-prefix-map=/build/librm-2.2.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -pthread -MD -MQ plugins/capi/libcapi.so.p/capi.c.o -MF plugins/capi/libcapi.so.p/capi.c.o.d -o plugins/capi/libcapi.so.p/capi.c.o -c ../plugins/capi/capi.c
../plugins/capi/capi.c: In function ‘capi_call’:
../plugins/capi/capi.c:411:17: warning: ‘__builtin_strncpy’ output truncated before terminating nul copying 4 bytes from a string of the same length [-Wstringop-truncation]
411 | strncpy((char*)bc, "\x03\xE0\x90\xA3", sizeof(bc));
| ^
../plugins/capi/capi.c:418:9: warning: ‘__builtin_strncpy’ output truncated before terminating nul copying 3 bytes from a string of the same length [-Wstringop-truncation]
418 | strncpy((char*)llc, "\x02\x80\x90", sizeof(llc));
| ^
../plugins/capi/capi.c:421:17: warning: ‘__builtin_strncpy’ output truncated before terminating nul copying 3 bytes from a string of the same length [-Wstringop-truncation]
421 | strncpy((char*)hlc, "\x02\x91\x81", sizeof(hlc));
| ^
../plugins/capi/capi.c: In function ‘capi_send_display_message’:
../plugins/capi/capi.c:833:9: warning: ‘__builtin_strncpy’ specified bound depends on the length of the source argument [-Wstringop-truncation]
833 | strncpy((char*)facility + 3, text, len);
| ^
../plugins/capi/capi.c:822:13: note: length computed here
822 | if (strlen(text) < 31) {
| ^~~~~~~~~~~~
ninja: build stopped: subcommand failed.
(The capi error is likely unrelated to the gssdp/gupnp porting work and probably more related to enabling of LTO in the build environment which I've seen cause related string truncation warnings to appear in other projects.)
Seems like more work is needed for a full port to gssdp/gupnp 1.6 to be considered finished.