Bug 1221014

Summary: GCC 14: python-multidict package fails
Product: [openSUSE] openSUSE Tumbleweed Reporter: Michal Jireš <michal.jires>
Component: PythonAssignee: Daniel Garcia <daniel.garcia>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: daniel.garcia
Version: Current   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Bug Depends on:    
Bug Blocks: 1220571    

Description Michal Jireš 2024-03-06 07:27:42 UTC
Building python-multidict with GCC 14 fails here:
https://build.opensuse.org/package/live_build_log/openSUSE:Factory:Staging:Gcc7/python-multidict/standard/x86_64

Due to (exhaustive list of errors):

multidict/_multidict.c: In function ‘multidict_getall’:
multidict/_multidict.c:458:37: error: initialization of ‘int’ from ‘void *’ makes integer from pointer without a cast [-Wint-conversion]
  458 |     static _PyArg_Parser _parser = {NULL, _keywords, "getall", 0};
      |                                     ^~~~
multidict/_multidict.c:458:37: note: (near initialization for ‘_parser.initialized’)
multidict/_multidict.c:458:43: error: initialization of ‘const char *’ from incompatible pointer type ‘const char * const*’ [-Wincompatible-pointer-types]
  458 |     static _PyArg_Parser _parser = {NULL, _keywords, "getall", 0};
      |                                           ^~~~~~~~~
multidict/_multidict.c:458:43: note: (near initialization for ‘_parser.format’)
multidict/_multidict.c:458:54: error: initialization of ‘const char * const*’ from incompatible pointer type ‘char *’ [-Wincompatible-pointer-types]
  458 |     static _PyArg_Parser _parser = {NULL, _keywords, "getall", 0};
      |                                                      ^~~~~~~~
multidict/_multidict.c:458:54: note: (near initialization for ‘_parser.keywords’)
multidict/_multidict.c: In function ‘multidict_getone’:
multidict/_multidict.c:503:37: error: initialization of ‘int’ from ‘void *’ makes integer from pointer without a cast [-Wint-conversion]
  503 |     static _PyArg_Parser _parser = {NULL, _keywords, "getone", 0};
      |                                     ^~~~
multidict/_multidict.c:503:43: error: initialization of ‘const char *’ from incompatible pointer type ‘const char * const*’ [-Wincompatible-pointer-types]
  503 |     static _PyArg_Parser _parser = {NULL, _keywords, "getone", 0};
      |                                           ^~~~~~~~~
multidict/_multidict.c:503:54: error: initialization of ‘const char * const*’ from incompatible pointer type ‘char *’ [-Wincompatible-pointer-types]
  503 |     static _PyArg_Parser _parser = {NULL, _keywords, "getone", 0};
      |                                                      ^~~~~~~~
multidict/_multidict.c: In function ‘multidict_get’:
multidict/_multidict.c:538:37: error: initialization of ‘int’ from ‘void *’ makes integer from pointer without a cast [-Wint-conversion]
  538 |     static _PyArg_Parser _parser = {NULL, _keywords, "get", 0};
      |                                     ^~~~
multidict/_multidict.c:538:43: error: initialization of ‘const char *’ from incompatible pointer type ‘const char * const*’ [-Wincompatible-pointer-types]
  538 |     static _PyArg_Parser _parser = {NULL, _keywords, "get", 0};
      |                                           ^~~~~~~~~
multidict/_multidict.c:538:54: error: initialization of ‘const char * const*’ from incompatible pointer type ‘char *’ [-Wincompatible-pointer-types]
  538 |     static _PyArg_Parser _parser = {NULL, _keywords, "get", 0};
      |                                                      ^~~~~
multidict/_multidict.c: In function ‘multidict_add’:
multidict/_multidict.c:780:37: error: initialization of ‘int’ from ‘void *’ makes integer from pointer without a cast [-Wint-conversion]
  780 |     static _PyArg_Parser _parser = {NULL, _keywords, "add", 0};
      |                                     ^~~~
multidict/_multidict.c:780:43: error: initialization of ‘const char *’ from incompatible pointer type ‘const char * const*’ [-Wincompatible-pointer-types]
  780 |     static _PyArg_Parser _parser = {NULL, _keywords, "add", 0};
      |                                           ^~~~~~~~~
multidict/_multidict.c:780:54: error: initialization of ‘const char * const*’ from incompatible pointer type ‘char *’ [-Wincompatible-pointer-types]
  780 |     static _PyArg_Parser _parser = {NULL, _keywords, "add", 0};
      |                                                      ^~~~~
multidict/_multidict.c: In function ‘multidict_setdefault’:
multidict/_multidict.c:839:37: error: initialization of ‘int’ from ‘void *’ makes integer from pointer without a cast [-Wint-conversion]
  839 |     static _PyArg_Parser _parser = {NULL, _keywords, "setdefault", 0};
      |                                     ^~~~
multidict/_multidict.c:839:43: error: initialization of ‘const char *’ from incompatible pointer type ‘const char * const*’ [-Wincompatible-pointer-types]
  839 |     static _PyArg_Parser _parser = {NULL, _keywords, "setdefault", 0};
      |                                           ^~~~~~~~~
multidict/_multidict.c:839:54: error: initialization of ‘const char * const*’ from incompatible pointer type ‘char *’ [-Wincompatible-pointer-types]
  839 |     static _PyArg_Parser _parser = {NULL, _keywords, "setdefault", 0};
      |                                                      ^~~~~~~~~~~~
multidict/_multidict.c: In function ‘multidict_popone’:
multidict/_multidict.c:875:37: error: initialization of ‘int’ from ‘void *’ makes integer from pointer without a cast [-Wint-conversion]
  875 |     static _PyArg_Parser _parser = {NULL, _keywords, "popone", 0};
      |                                     ^~~~
multidict/_multidict.c:875:43: error: initialization of ‘const char *’ from incompatible pointer type ‘const char * const*’ [-Wincompatible-pointer-types]
  875 |     static _PyArg_Parser _parser = {NULL, _keywords, "popone", 0};
      |                                           ^~~~~~~~~
multidict/_multidict.c:875:54: error: initialization of ‘const char * const*’ from incompatible pointer type ‘char *’ [-Wincompatible-pointer-types]
  875 |     static _PyArg_Parser _parser = {NULL, _keywords, "popone", 0};
      |                                                      ^~~~~~~~
multidict/_multidict.c: In function ‘multidict_pop’:
multidict/_multidict.c:922:37: error: initialization of ‘int’ from ‘void *’ makes integer from pointer without a cast [-Wint-conversion]
  922 |     static _PyArg_Parser _parser = {NULL, _keywords, "pop", 0};
      |                                     ^~~~
multidict/_multidict.c:922:43: error: initialization of ‘const char *’ from incompatible pointer type ‘const char * const*’ [-Wincompatible-pointer-types]
  922 |     static _PyArg_Parser _parser = {NULL, _keywords, "pop", 0};
      |                                           ^~~~~~~~~
multidict/_multidict.c:922:54: error: initialization of ‘const char * const*’ from incompatible pointer type ‘char *’ [-Wincompatible-pointer-types]
  922 |     static _PyArg_Parser _parser = {NULL, _keywords, "pop", 0};
      |                                                      ^~~~~
multidict/_multidict.c: In function ‘multidict_popall’:
multidict/_multidict.c:970:37: error: initialization of ‘int’ from ‘void *’ makes integer from pointer without a cast [-Wint-conversion]
  970 |     static _PyArg_Parser _parser = {NULL, _keywords, "popall", 0};
      |                                     ^~~~
multidict/_multidict.c:970:43: error: initialization of ‘const char *’ from incompatible pointer type ‘const char * const*’ [-Wincompatible-pointer-types]
  970 |     static _PyArg_Parser _parser = {NULL, _keywords, "popall", 0};
      |                                           ^~~~~~~~~
multidict/_multidict.c:970:54: error: initialization of ‘const char * const*’ from incompatible pointer type ‘char *’ [-Wincompatible-pointer-types]
  970 |     static _PyArg_Parser _parser = {NULL, _keywords, "popall", 0};
      |                                                      ^~~~~~~~
error: command '/usr/bin/gcc' failed with exit code 1



See the meta bug#1220571 for more info.
Comment 1 Daniel Garcia 2024-03-07 10:27:40 UTC
Fixed upstream in 6.0.5, here's the request for Factory:
https://build.opensuse.org/request/show/1155850
Comment 2 Daniel Garcia 2024-03-11 16:35:43 UTC
Fix landed factory