Build errors: unknown type name ‘SOUP_AVAILABLE_IN_2_4’; did you mean ‘SOUP_AVAILABLE_IN_3_4’? and rmssdp.c:55:13: error: assignment to ‘const GUri *’ {aka ‘const struct _GUri *’} from incompatible pointer type [...].
Ahoj,
I want to build this (latest git checkout) on Artix GNU/Linux (rolling release).
- GCC version: 15.1.1.
- libsoup version: 2.74.3.
- libsoup3 version: 3.6.5.
Build fails for me with different kind of errors:
-
libsoup-2.4/libsoup/soup-misc.h:14:1: error: unknown type name ‘SOUP_AVAILABLE_IN_2_4’; did you mean ‘SOUP_AVAILABLE_IN_3_4’?etc.:[35/82] ccache cc -Irm/librm.so.2.2.4.p -Irm -I../librm/rm -I. -I../librm -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/libsoup-3.0 -I/usr/include/libxml2 -I/usr/include/json-glib-1.0 -I/usr/include/opus -I/usr/include/gupnp-1.2 -I/usr/include/gssdp-1.2 -I/usr/include/uuid -I/usr/include/libsoup-2.4 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -march=native -mtune=native -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -fstack-clash-protection -fcf-protection -w -w -fPIC -pthread -DRM_COMPILATION '-DG_LOG_DOMAIN="rm"' -MD -MQ rm/librm.so.2.2.4.p/rmssdp.c.o -MF rm/librm.so.2.2.4.p/rmssdp.c.o.d -o rm/librm.so.2.2.4.p/rmssdp.c.o -c ../librm/rm/rmssdp.c FAILED: rm/librm.so.2.2.4.p/rmssdp.c.o ccache cc -Irm/librm.so.2.2.4.p -Irm -I../librm/rm -I. -I../librm -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/libsoup-3.0 -I/usr/include/libxml2 -I/usr/include/json-glib-1.0 -I/usr/include/opus -I/usr/include/gupnp-1.2 -I/usr/include/gssdp-1.2 -I/usr/include/uuid -I/usr/include/libsoup-2.4 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -march=native -mtune=native -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -fstack-clash-protection -fcf-protection -w -w -fPIC -pthread -DRM_COMPILATION '-DG_LOG_DOMAIN="rm"' -MD -MQ rm/librm.so.2.2.4.p/rmssdp.c.o -MF rm/librm.so.2.2.4.p/rmssdp.c.o.d -o rm/librm.so.2.2.4.p/rmssdp.c.o -c ../librm/rm/rmssdp.c In file included from /usr/include/libsoup-2.4/libsoup/soup-uri.h:12, from /usr/include/gupnp-1.2/libgupnp/gupnp-device-info.h:14, from /usr/include/gupnp-1.2/libgupnp/gupnp-device-proxy.h:12, from /usr/include/gupnp-1.2/libgupnp/gupnp-control-point.h:16, from /usr/include/gupnp-1.2/libgupnp/gupnp-context-manager.h:16, from /usr/include/gupnp-1.2/libgupnp/gupnp.h:11, from ../librm/rm/rmssdp.c:32: /usr/include/libsoup-2.4/libsoup/soup-misc.h:14:1: error: unknown type name ‘SOUP_AVAILABLE_IN_2_4’; did you mean ‘SOUP_AVAILABLE_IN_3_4’? 14 | SOUP_AVAILABLE_IN_2_4 | ^~~~~~~~~~~~~~~~~~~~~ | SOUP_AVAILABLE_IN_3_4 /usr/include/libsoup-2.4/libsoup/soup-misc.h:15:19: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token 15 | GSource *soup_add_io_watch (GMainContext *async_context, | ^ /usr/include/libsoup-2.4/libsoup/soup-misc.h:20:1: error: unknown type name ‘SOUP_AVAILABLE_IN_2_4’; did you mean ‘SOUP_AVAILABLE_IN_3_4’? 20 | SOUP_AVAILABLE_IN_2_4 | ^~~~~~~~~~~~~~~~~~~~~ | SOUP_AVAILABLE_IN_3_4 [...] usr/include/libsoup-2.4/libsoup/soup-uri.h:133:1: error: unknown type name ‘SOUP_AVAILABLE_IN_2_28’; did you mean ‘SOUP_AVAILABLE_IN_3_2’? 133 | SOUP_AVAILABLE_IN_2_28 | ^~~~~~~~~~~~~~~~~~~~~~ | SOUP_AVAILABLE_IN_3_2 /usr/include/libsoup-2.4/libsoup/soup-uri.h:134:13: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘soup_uri_host_equal’ 134 | gboolean soup_uri_host_equal (gconstpointer v1, | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/include/gupnp-1.2/libgupnp/gupnp-device-info.h:17: /usr/include/gupnp-1.2/libgupnp/gupnp-service-info.h:60:7: error: unknown type name ‘SoupURI’ 60 | const SoupURI * | ^~~~~~~ /usr/include/gupnp-1.2/libgupnp/gupnp-device-info.h:59:7: error: unknown type name ‘SoupURI’ 59 | const SoupURI * | ^~~~~~~ -
GCC-warning "incompatible-pointer-types" treated as error:
../librm/rm/rmssdp.c: In function ‘rm_device_proxy_available_cb’: ../librm/rm/rmssdp.c:55:13: error: assignment to ‘const GUri *’ {aka ‘const struct _GUri *’} from incompatible pointer type ‘const int *’ [-Wincompatible-pointer-types] 55 | uri = gupnp_device_info_get_url_base(info); | ^ ninja: build stopped: subcommand failed.
The second one I could workaround by adding -Wno-error=incompatible-pointer-types to $CFLAGS/ $CXXFLAGS environment variable.
The first one I don't know about. Maybe it needs to more specifically use the correct libsoup version, when 2.x and 3.x are both installed?
Regards!