Bugzilla – Bug 1221704
GCC 14: lightdm package fails
Last modified: 2024-07-12 09:44:05 UTC
Building lightdm with GCC 14 fails here: https://build.opensuse.org/package/live_build_log/openSUSE:Factory:Staging:Gcc7/lightdm/standard/x86_64 Due to (exhaustive list of errors): lightdm.c: In function ‘config_load_sysconfig’: lightdm.c:70:52: error: passing argument 1 of ‘opensuse_sysconfig_get_string’ from incompatible pointer type [-Wincompatible-pointer-types] 70 | str_value = opensuse_sysconfig_get_string (displaymanager_config, "DISPLAYMANAGER_AUTOLOGIN", &error); | ^~~~~~~~~~~~~~~~~~~~~ | | | gchar ** {aka char **} In file included from lightdm.c:25: opensuse-sysconfig.h:44:57: note: expected ‘const gchar **’ {aka ‘const char **’} but argument is of type ‘gchar **’ {aka ‘char **’} 44 | gchar *opensuse_sysconfig_get_string (const gchar **sysconfig, const gchar *key, GError **error); | ~~~~~~~~~~~~~~^~~~~~~~~ lightdm.c:86:57: error: passing argument 1 of ‘opensuse_sysconfig_get_boolean’ from incompatible pointer type [-Wincompatible-pointer-types] 86 | boolean_value = opensuse_sysconfig_get_boolean (displaymanager_config, "DISPLAYMANAGER_PASSWORD_LESS_LOGIN", &error); | ^~~~~~~~~~~~~~~~~~~~~ | | | gchar ** {aka char **} opensuse-sysconfig.h:46:58: note: expected ‘const gchar **’ {aka ‘const char **’} but argument is of type ‘gchar **’ {aka ‘char **’} 46 | gboolean opensuse_sysconfig_get_boolean (const gchar **sysconfig, const gchar *key, GError **error); | ~~~~~~~~~~~~~~^~~~~~~~~ lightdm.c:97:57: error: passing argument 1 of ‘opensuse_sysconfig_get_boolean’ from incompatible pointer type [-Wincompatible-pointer-types] 97 | boolean_value = opensuse_sysconfig_get_boolean (displaymanager_config, "DISPLAYMANAGER_REMOTE_ACCESS", &error); | ^~~~~~~~~~~~~~~~~~~~~ | | | gchar ** {aka char **} lightdm.c:108:57: error: passing argument 1 of ‘opensuse_sysconfig_get_boolean’ from incompatible pointer type [-Wincompatible-pointer-types] 108 | boolean_value = opensuse_sysconfig_get_boolean (displaymanager_config, "DISPLAYMANAGER_XSERVER_TCP_PORT_6000_OPEN", &error); | ^~~~~~~~~~~~~~~~~~~~~ | | | gchar ** {aka char **} See the meta bug#1220571 for more info.
The issue is caused by an openSUSE patch. I have created https://build.opensuse.org/request/show/1187044 to add missing type-casts.