Bug 1221704 - GCC 14: lightdm package fails
Summary: GCC 14: lightdm package fails
Status: NEW
Alias: None
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: X11 Applications (show other bugs)
Version: Current
Hardware: Other Other
: P5 - None : Normal (vote)
Target Milestone: ---
Assignee: Alexei Sorokin
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: modern_C
  Show dependency treegraph
 
Reported: 2024-03-19 12:26 UTC by Michal Jireš
Modified: 2024-07-12 09:44 UTC (History)
2 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michal Jireš 2024-03-19 12:26:07 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.
Comment 1 Martin Jambor 2024-07-12 09:44:05 UTC
The issue is caused by an openSUSE patch.  I have created https://build.opensuse.org/request/show/1187044 to add missing type-casts.