ohare93 / brain-brew

Automated Anki flashcard creation and extraction to/from Csv
The Unlicense
89 stars 5 forks source link

Heads up issue on fedora 41 #54

Open boydkelly opened 3 weeks ago

boydkelly commented 3 weeks ago

Hi,

No big problem as i am working in a container anyway. But a test upgrade to Fedora 41 would not install brain-brew with full output below.

I downloaded this: https://files.pythonhosted.org/packages/73/67/8ece580cc363331d9a53055130f86b096bf16e38156e33b1d3014fffda6b/ruamel.yaml-0.18.6-py3-none-any.whl

And was able to successfully install the ruamel package. But subsequent attempt at install brain-brew, pip still wants to compile the package and fails again. (Sorry I'm no expert here, and I'm sure someone will sort that out before F40 is EOL.)

Thanks for brainbrew!

Collecting pyyaml (from yamale>=3.0.4->brain-brew)
  Using cached PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.1 kB)
Using cached Brain_Brew-0.3.10-py3-none-any.whl (89 kB)
Using cached yamale-5.2.1-py3-none-any.whl (56 kB)
Using cached PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (759 kB)
Building wheels for collected packages: ruamel.yaml.clib
  Building wheel for ruamel.yaml.clib (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for ruamel.yaml.clib (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [89 lines of output]
      <string>:79: DeprecationWarning: ast.Str is deprecated and will be removed in Python 3.14; use ast.Constant instead
      <string>:79: DeprecationWarning: ast.Num is deprecated and will be removed in Python 3.14; use ast.Constant instead
      <string>:79: DeprecationWarning: ast.Bytes is deprecated and will be removed in Python 3.14; use ast.Constant instead
      <string>:79: DeprecationWarning: ast.NameConstant is deprecated and will be removed in Python 3.14; use ast.Constant instead
      <string>:101: DeprecationWarning: ast.Str is deprecated and will be removed in Python 3.14; use ast.Constant instead
      <string>:105: DeprecationWarning: ast.Bytes is deprecated and will be removed in Python 3.14; use ast.Constant instead
      <string>:107: DeprecationWarning: ast.Num is deprecated and will be removed in Python 3.14; use ast.Constant instead
      <string>:117: DeprecationWarning: ast.NameConstant is deprecated and will be removed in Python 3.14; use ast.Constant instead
      <string>:104: DeprecationWarning: Attribute s is deprecated and will be removed in Python 3.14; use value instead
      <string>:108: DeprecationWarning: Attribute n is deprecated and will be removed in Python 3.14; use value instead
      /tmp/pip-build-env-im4n3e6n/overlay/lib/python3.13/site-packages/setuptools/_distutils/dist.py:268: UserWarning: Unknown distribution option: 'test_suite'
        warnings.warn(msg)
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-x86_64-cpython-313
      creating build/lib.linux-x86_64-cpython-313/ruamel
      creating build/lib.linux-x86_64-cpython-313/ruamel/yaml
      creating build/lib.linux-x86_64-cpython-313/ruamel/yaml/clib
      copying ./__init__.py -> build/lib.linux-x86_64-cpython-313/ruamel/yaml/clib
      copying ./setup.py -> build/lib.linux-x86_64-cpython-313/ruamel/yaml/clib
      copying ./LICENSE -> build/lib.linux-x86_64-cpython-313/ruamel/yaml/clib
      running build_ext
      building '_ruamel_yaml' extension
      creating build/temp.linux-x86_64-cpython-313
      gcc -fno-strict-overflow -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -fcf-protection -fexceptions -fcf-protection -fexceptions -fcf-protection -fexceptions -O3 -fPIC -I/usr/include/python3.13 -c _ruamel_yaml.c -o build/temp.linux-x86_64-cpython-313/_ruamel_yaml.o
      In file included from _ruamel_yaml.c:1149:
      _ruamel_yaml.h:10:9: warning: "PyString_CheckExact" redefined
         10 | #define PyString_CheckExact PyBytes_CheckExact
            |         ^~~~~~~~~~~~~~~~~~~
      _ruamel_yaml.c:998:11: note: this is the location of the previous definition
        998 |   #define PyString_CheckExact          PyUnicode_CheckExact
            |           ^~~~~~~~~~~~~~~~~~~
      _ruamel_yaml.c:1236:1: warning: ‘Py_UNICODE’ is deprecated [-Wdeprecated-declarations]
       1236 | static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u)
            | ^~~~~~
      _ruamel_yaml.c: In function ‘__Pyx_Py_UNICODE_strlen’:
      _ruamel_yaml.c:1238:5: warning: ‘Py_UNICODE’ is deprecated [-Wdeprecated-declarations]
       1238 |     const Py_UNICODE *u_end = u;
            |     ^~~~~
      _ruamel_yaml.c: In function ‘__pyx_pf_6ruamel_4yaml_4clib_12_ruamel_yaml_get_version_string’:
      _ruamel_yaml.c:4156:17: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
       4156 |   __pyx_v_value = yaml_get_version_string();
            |                 ^
      _ruamel_yaml.c: In function ‘__pyx_pf_6ruamel_4yaml_4clib_12_ruamel_yaml_7CParser___init__’:
      _ruamel_yaml.c:5929:52: error: passing argument 2 of ‘yaml_parser_set_input’ from incompatible pointer type [-Wincompatible-pointer-types]
       5929 |     yaml_parser_set_input((&__pyx_v_self->parser), __pyx_f_6ruamel_4yaml_4clib_12_ruamel_yaml_input_handler, ((void *)__pyx_v_self));
            |                                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            |                                                    |
            |                                                    int (*)(void *, char *, int,  int *)
      In file included from _ruamel_yaml.h:2:
      yaml.h:1370:30: note: expected ‘int (*)(void *, unsigned char *, size_t,  size_t *)’ {aka ‘int (*)(void *, unsigned char *, long unsigned int,  long unsigned int *)’} but argument is of type ‘int (*)(void *, char *, int,  int *)’
       1370 |         yaml_read_handler_t *handler, void *data);
            |         ~~~~~~~~~~~~~~~~~~~~~^~~~~~~
      _ruamel_yaml.c: In function ‘__pyx_pf_6ruamel_4yaml_4clib_12_ruamel_yaml_8CEmitter___init__’:
      _ruamel_yaml.c:16882:53: error: passing argument 2 of ‘yaml_emitter_set_output’ from incompatible pointer type [-Wincompatible-pointer-types]
      16882 |   yaml_emitter_set_output((&__pyx_v_self->emitter), __pyx_f_6ruamel_4yaml_4clib_12_ruamel_yaml_output_handler, ((void *)__pyx_v_self));
            |                                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            |                                                     |
            |                                                     int (*)(void *, char *, int)
      yaml.h:1837:31: note: expected ‘int (*)(void *, unsigned char *, size_t)’ {aka ‘int (*)(void *, unsigned char *, long unsigned int)’} but argument is of type ‘int (*)(void *, char *, int)’
       1837 |         yaml_write_handler_t *handler, void *data);
            |         ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
      _ruamel_yaml.c: In function ‘__Pyx_PyInt_As_size_t’:
      _ruamel_yaml.c:33208:23: error: too few arguments to function ‘_PyLong_AsByteArray’
      33208 |                 ret = _PyLong_AsByteArray((PyLongObject *)v,
            |                       ^~~~~~~~~~~~~~~~~~~
      In file included from /usr/include/python3.13/longobject.h:107,
                       from /usr/include/python3.13/Python.h:77,
                       from _ruamel_yaml.c:16:
      /usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
        111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
            |                 ^~~~~~~~~~~~~~~~~~~
      _ruamel_yaml.c: In function ‘__Pyx_PyInt_As_long’:
      _ruamel_yaml.c:33481:23: error: too few arguments to function ‘_PyLong_AsByteArray’
      33481 |                 ret = _PyLong_AsByteArray((PyLongObject *)v,
            |                       ^~~~~~~~~~~~~~~~~~~
      /usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
        111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
            |                 ^~~~~~~~~~~~~~~~~~~
      _ruamel_yaml.c: In function ‘__Pyx_PyInt_As_int’:
      _ruamel_yaml.c:33816:23: error: too few arguments to function ‘_PyLong_AsByteArray’
      33816 |                 ret = _PyLong_AsByteArray((PyLongObject *)v,
            |                       ^~~~~~~~~~~~~~~~~~~
      /usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
        111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
            |                 ^~~~~~~~~~~~~~~~~~~
      error: command '/usr/bin/gcc' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for ruamel.yaml.clib
Failed to build ruamel.yaml.clib
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (ruamel.yaml.clib)
ohare93 commented 3 weeks ago

How very strange. I've been needing to do a package bump to latest for a while anyways, lets hope that fixes it 😀