Skip to content

Unable to pip install multidict with gcc-14 #926

Closed
@psss

Description

@psss

Long story short

With the latest Fedora Rawhide which freshly contains gcc-14 I'm not able to install multidict.

Expected behaviour

Package successfully installed.

Actual behaviour

I see the following error:

gcc -fno-strict-overflow -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -fexceptions -fcf-protection -fexceptions -fcf-protection -fexceptions -fcf-protection -fPIC -I/tmp/venv/include -I/usr/include/python3.12 -c multidict/_multidict.c -o build/temp.linux-x86_64-cpython-312/multidict/_multidict.o -O2 -std=c99 -Wall -Wsign-compare -Wconversion -fno-strict-aliasing -pedantic
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:37: note: (near initialization for ‘_parser.initialized’)
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:43: note: (near initialization for ‘_parser.format’)
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:503:54: note: (near initialization for ‘_parser.keywords’)
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:37: note: (near initialization for ‘_parser.initialized’)
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:43: note: (near initialization for ‘_parser.format’)
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:538:54: note: (near initialization for ‘_parser.keywords’)
multidict/_multidict.c: In function ‘multidict_tp_dealloc’:
multidict/_multidict.c:712:5: warning: ‘UsingDeprecatedTrashcanMacro’ is deprecated [-Wdeprecated-declarations]
  712 |     Py_TRASHCAN_SAFE_BEGIN(self);
      |     ^~~~~~~~~~~~~~~~~~~~~~
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:37: note: (near initialization for ‘_parser.initialized’)
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:43: note: (near initialization for ‘_parser.format’)
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:780:54: note: (near initialization for ‘_parser.keywords’)
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:37: note: (near initialization for ‘_parser.initialized’)
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:43: note: (near initialization for ‘_parser.format’)
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:839:54: note: (near initialization for ‘_parser.keywords’)
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:37: note: (near initialization for ‘_parser.initialized’)
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:43: note: (near initialization for ‘_parser.format’)
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:875:54: note: (near initialization for ‘_parser.keywords’)
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:37: note: (near initialization for ‘_parser.initialized’)
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:43: note: (near initialization for ‘_parser.format’)
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:922:54: note: (near initialization for ‘_parser.keywords’)
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:37: note: (near initialization for ‘_parser.initialized’)
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:43: note: (near initialization for ‘_parser.format’)
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};
      |                                                      ^~~~~~~~
multidict/_multidict.c:970:54: note: (near initialization for ‘_parser.keywords’)
error: command '/usr/bin/gcc' failed with exit code 1

Steps to reproduce

Install the latest rawhide.

python3 -m venv /tmp/venv
/tmp/venv/bin/pip install multidict

Your environment

Fedora-Cloud-Base-Rawhide-20240117.n.0.x86_64.qcow2
gcc-14.0.1-0.1.fc40.x86_64

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions