Skip to content

Fails to install in Python 3.13 #27

@alejoe91

Description

@alejoe91

We need to update pyx files:

Using shipped libraries
      running bdist_wheel
      running build
      running build_py
      creating build/lib.linux-x86_64-cpython-313/wavpack_numcodecs
      copying src/wavpack_numcodecs/__init__.py -> build/lib.linux-x86_64-cpython-313/wavpack_numcodecs
      copying src/wavpack_numcodecs/globals.py -> build/lib.linux-x86_64-cpython-313/wavpack_numcodecs
      running egg_info
      writing src/wavpack_numcodecs.egg-info/PKG-INFO
      writing dependency_links to src/wavpack_numcodecs.egg-info/dependency_links.txt
      writing entry points to src/wavpack_numcodecs.egg-info/entry_points.txt
      writing requirements to src/wavpack_numcodecs.egg-info/requires.txt
      writing top-level names to src/wavpack_numcodecs.egg-info/top_level.txt
      reading manifest file 'src/wavpack_numcodecs.egg-info/SOURCES.txt'
      adding license file 'LICENSE'
      writing manifest file 'src/wavpack_numcodecs.egg-info/SOURCES.txt'
      copying src/wavpack_numcodecs/compat_ext.c -> build/lib.linux-x86_64-cpython-313/wavpack_numcodecs
      copying src/wavpack_numcodecs/compat_ext.pxd -> build/lib.linux-x86_64-cpython-313/wavpack_numcodecs
      copying src/wavpack_numcodecs/compat_ext.pyx -> build/lib.linux-x86_64-cpython-313/wavpack_numcodecs
      copying src/wavpack_numcodecs/libwavpack.so.1 -> build/lib.linux-x86_64-cpython-313/wavpack_numcodecs
      copying src/wavpack_numcodecs/wavpack.c -> build/lib.linux-x86_64-cpython-313/wavpack_numcodecs
      copying src/wavpack_numcodecs/wavpack.pyx -> build/lib.linux-x86_64-cpython-313/wavpack_numcodecs
      creating build/lib.linux-x86_64-cpython-313/wavpack_numcodecs/include/wavpack
      copying src/wavpack_numcodecs/include/wavpack/wavpack.h -> build/lib.linux-x86_64-cpython-313/wavpack_numcodecs/include/wavpack
      creating build/lib.linux-x86_64-cpython-313/wavpack_numcodecs/libraries/5.6.0/linux-x86_64-glibc2.35
      copying src/wavpack_numcodecs/libraries/5.6.0/linux-x86_64-glibc2.35/libwavpack.so ->
      build/lib.linux-x86_64-cpython-313/wavpack_numcodecs/libraries/5.6.0/linux-x86_64-glibc2.35
      creating build/lib.linux-x86_64-cpython-313/wavpack_numcodecs/libraries/5.6.0/windows-x86_32
      copying src/wavpack_numcodecs/libraries/5.6.0/windows-x86_32/wavpackdll.dll ->
      build/lib.linux-x86_64-cpython-313/wavpack_numcodecs/libraries/5.6.0/windows-x86_32
      copying src/wavpack_numcodecs/libraries/5.6.0/windows-x86_32/wavpackdll.lib ->
      build/lib.linux-x86_64-cpython-313/wavpack_numcodecs/libraries/5.6.0/windows-x86_32
      creating build/lib.linux-x86_64-cpython-313/wavpack_numcodecs/libraries/5.6.0/windows-x86_64
      copying src/wavpack_numcodecs/libraries/5.6.0/windows-x86_64/wavpackdll.dll ->
      build/lib.linux-x86_64-cpython-313/wavpack_numcodecs/libraries/5.6.0/windows-x86_64
      copying src/wavpack_numcodecs/libraries/5.6.0/windows-x86_64/wavpackdll.lib ->
      build/lib.linux-x86_64-cpython-313/wavpack_numcodecs/libraries/5.6.0/windows-x86_64
      creating build/lib.linux-x86_64-cpython-313/wavpack_numcodecs/libraries/5.7.0/linux-x86_64-glibc2.31
      copying src/wavpack_numcodecs/libraries/5.7.0/linux-x86_64-glibc2.31/libwavpack.so ->
      build/lib.linux-x86_64-cpython-313/wavpack_numcodecs/libraries/5.7.0/linux-x86_64-glibc2.31
      creating build/lib.linux-x86_64-cpython-313/wavpack_numcodecs/libraries/5.7.0/linux-x86_64-glibc2.35
      copying src/wavpack_numcodecs/libraries/5.7.0/linux-x86_64-glibc2.35/libwavpack.so ->
      build/lib.linux-x86_64-cpython-313/wavpack_numcodecs/libraries/5.7.0/linux-x86_64-glibc2.35
      copying src/wavpack_numcodecs/libraries/5.7.0/linux-x86_64-glibc2.35/libwavpack.so.1 ->
      build/lib.linux-x86_64-cpython-313/wavpack_numcodecs/libraries/5.7.0/linux-x86_64-glibc2.35
      creating build/lib.linux-x86_64-cpython-313/wavpack_numcodecs/libraries/5.7.0/linux-x86_64-glibc2.39
      copying src/wavpack_numcodecs/libraries/5.7.0/linux-x86_64-glibc2.39/libwavpack.so ->
      build/lib.linux-x86_64-cpython-313/wavpack_numcodecs/libraries/5.7.0/linux-x86_64-glibc2.39
      creating build/lib.linux-x86_64-cpython-313/wavpack_numcodecs/libraries/5.7.0/windows-x86_32
      copying src/wavpack_numcodecs/libraries/5.7.0/windows-x86_32/wavpackdll.dll ->
      build/lib.linux-x86_64-cpython-313/wavpack_numcodecs/libraries/5.7.0/windows-x86_32
      copying src/wavpack_numcodecs/libraries/5.7.0/windows-x86_32/wavpackdll.lib ->
      build/lib.linux-x86_64-cpython-313/wavpack_numcodecs/libraries/5.7.0/windows-x86_32
      creating build/lib.linux-x86_64-cpython-313/wavpack_numcodecs/libraries/5.7.0/windows-x86_64
      copying src/wavpack_numcodecs/libraries/5.7.0/windows-x86_64/wavpackdll.dll ->
      build/lib.linux-x86_64-cpython-313/wavpack_numcodecs/libraries/5.7.0/windows-x86_64
      copying src/wavpack_numcodecs/libraries/5.7.0/windows-x86_64/wavpackdll.lib ->
      build/lib.linux-x86_64-cpython-313/wavpack_numcodecs/libraries/5.7.0/windows-x86_64
      creating build/lib.linux-x86_64-cpython-313/wavpack_numcodecs/src
      copying src/wavpack_numcodecs/src/decoder.c -> build/lib.linux-x86_64-cpython-313/wavpack_numcodecs/src
      copying src/wavpack_numcodecs/src/encoder.c -> build/lib.linux-x86_64-cpython-313/wavpack_numcodecs/src
      running build_ext
      building 'wavpack_numcodecs.compat_ext' extension
      creating build/temp.linux-x86_64-cpython-313/src/wavpack_numcodecs
      cc -pthread -fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall -fPIC -fPIC -I/home/alessio/.cache/uv/builds-v0/.tmp1JV9sd/include
      -I/home/alessio/.local/share/uv/python/cpython-3.13.2-linux-x86_64-gnu/include/python3.13 -c src/wavpack_numcodecs/compat_ext.c -o
      build/temp.linux-x86_64-cpython-313/src/wavpack_numcodecs/compat_ext.o

      [stderr]
      /home/alessio/.cache/uv/builds-v0/.tmp1JV9sd/lib/python3.13/site-packages/setuptools/config/_apply_pyprojecttoml.py:74: _MissingDynamic: `entry-points`
      defined outside of `pyproject.toml` is ignored.
      !!

              ********************************************************************************
              The following seems to be defined outside of `pyproject.toml`:

              `entry-points = {'numcodecs.codecs': ['wavpack = wavpack_numcodecs:WavPack']}`

              According to the spec (see the link below), however, setuptools CANNOT
              consider this value unless `entry-points` is listed as `dynamic`.

              https://packaging.python.org/en/latest/specifications/pyproject-toml/#declaring-project-metadata-the-project-table

              To prevent this problem, you can list `entry-points` under `dynamic` or alternatively
              remove the `[project]` table from your file and rely entirely on other means of
              configuration.
              ********************************************************************************

      !!
        _handle_missing_dynamic(dist, project_table)
      /home/alessio/.cache/uv/builds-v0/.tmp1JV9sd/lib/python3.13/site-packages/setuptools/command/build_py.py:212: _Warning: Package
      'wavpack_numcodecs.include.wavpack' is absent from the `packages` configuration.
      !!

              ********************************************************************************
              ############################
              # Package would be ignored #
              ############################
              Python recognizes 'wavpack_numcodecs.include.wavpack' as an importable package[^1],
              but it is absent from setuptools' `packages` configuration.

              This leads to an ambiguous overall configuration. If you want to distribute this
              package, please make sure that 'wavpack_numcodecs.include.wavpack' is explicitly added
              to the `packages` configuration field.

              Alternatively, you can also rely on setuptools' discovery methods
              (for example by using `find_namespace_packages(...)`/`find_namespace:`
              instead of `find_packages(...)`/`find:`).

              You can read more about "package discovery" on setuptools documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html

              If you don't want 'wavpack_numcodecs.include.wavpack' to be distributed and are
              already explicitly excluding 'wavpack_numcodecs.include.wavpack' via
              `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
              you can try to use `exclude_package_data`, or `include-package-data=False` in
              combination with a more fine grained `package-data` configuration.

              You can read more about "package data files" on setuptools documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/datafiles.html


              [^1]: For Python, any directory (with suitable naming) can be imported,
                    even if it does not contain any `.py` files.
                    On the other hand, currently there is no concept of package data
                    directory, all directories are treated like packages.
              ********************************************************************************

      !!
        check.warn(importable)
      /home/alessio/.cache/uv/builds-v0/.tmp1JV9sd/lib/python3.13/site-packages/setuptools/command/build_py.py:212: _Warning: Package 'wavpack_numcodecs.libraries'
      is absent from the `packages` configuration.
      !!

              ********************************************************************************
              ############################
              # Package would be ignored #
              ############################
              Python recognizes 'wavpack_numcodecs.libraries' as an importable package[^1],
              but it is absent from setuptools' `packages` configuration.

              This leads to an ambiguous overall configuration. If you want to distribute this
              package, please make sure that 'wavpack_numcodecs.libraries' is explicitly added
              to the `packages` configuration field.

              Alternatively, you can also rely on setuptools' discovery methods
              (for example by using `find_namespace_packages(...)`/`find_namespace:`
              instead of `find_packages(...)`/`find:`).

              You can read more about "package discovery" on setuptools documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html

              If you don't want 'wavpack_numcodecs.libraries' to be distributed and are
              already explicitly excluding 'wavpack_numcodecs.libraries' via
              `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
              you can try to use `exclude_package_data`, or `include-package-data=False` in
              combination with a more fine grained `package-data` configuration.

              You can read more about "package data files" on setuptools documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/datafiles.html


              [^1]: For Python, any directory (with suitable naming) can be imported,
                    even if it does not contain any `.py` files.
                    On the other hand, currently there is no concept of package data
                    directory, all directories are treated like packages.
              ********************************************************************************

      !!
        check.warn(importable)
      /home/alessio/.cache/uv/builds-v0/.tmp1JV9sd/lib/python3.13/site-packages/setuptools/command/build_py.py:212: _Warning: Package 'wavpack_numcodecs.src' is
      absent from the `packages` configuration.
      !!

              ********************************************************************************
              ############################
              # Package would be ignored #
              ############################
              Python recognizes 'wavpack_numcodecs.src' as an importable package[^1],
              but it is absent from setuptools' `packages` configuration.

              This leads to an ambiguous overall configuration. If you want to distribute this
              package, please make sure that 'wavpack_numcodecs.src' is explicitly added
              to the `packages` configuration field.

              Alternatively, you can also rely on setuptools' discovery methods
              (for example by using `find_namespace_packages(...)`/`find_namespace:`
              instead of `find_packages(...)`/`find:`).

              You can read more about "package discovery" on setuptools documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html

              If you don't want 'wavpack_numcodecs.src' to be distributed and are
              already explicitly excluding 'wavpack_numcodecs.src' via
              `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
              you can try to use `exclude_package_data`, or `include-package-data=False` in
              combination with a more fine grained `package-data` configuration.

              You can read more about "package data files" on setuptools documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/datafiles.html


              [^1]: For Python, any directory (with suitable naming) can be imported,
                    even if it does not contain any `.py` files.
                    On the other hand, currently there is no concept of package data
                    directory, all directories are treated like packages.
              ********************************************************************************

      !!
        check.warn(importable)
      src/wavpack_numcodecs/compat_ext.c:835:1: warning: ‘Py_UNICODE’ is deprecated [-Wdeprecated-declarations]
        835 | static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) {
            | ^~~~~~
      src/wavpack_numcodecs/compat_ext.c: In function ‘__Pyx_Py_UNICODE_strlen’:
      src/wavpack_numcodecs/compat_ext.c:836:5: warning: ‘Py_UNICODE’ is deprecated [-Wdeprecated-declarations]
        836 |     const Py_UNICODE *u_end = u;
            |     ^~~~~
      src/wavpack_numcodecs/compat_ext.c: In function ‘__pyx_tp_dealloc_17wavpack_numcodecs_10compat_ext_Buffer’:
      src/wavpack_numcodecs/compat_ext.c:1886:134: warning: implicit declaration of function ‘_PyGC_FINALIZED’ [-Wimplicit-function-declaration]
       1886 |   if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) ||
      !_PyGC_FINALIZED(o))) {
            |                                                                                                                                      ^~~~~~~~~~~~~~~
      src/wavpack_numcodecs/compat_ext.c: In function ‘__Pyx_PyInt_As_int’:
      src/wavpack_numcodecs/compat_ext.c:3829:27: error: too few arguments to function ‘_PyLong_AsByteArray’
       3829 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
            |                           ^~~~~~~~~~~~~~~~~~~
      In file included from /home/alessio/.local/share/uv/python/cpython-3.13.2-linux-x86_64-gnu/include/python3.13/longobject.h:107,
                       from /home/alessio/.local/share/uv/python/cpython-3.13.2-linux-x86_64-gnu/include/python3.13/Python.h:81,
                       from src/wavpack_numcodecs/compat_ext.c:19:
      /home/alessio/.local/share/uv/python/cpython-3.13.2-linux-x86_64-gnu/include/python3.13/cpython/longobject.h:111:17: note: declared here
        111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
            |                 ^~~~~~~~~~~~~~~~~~~
      src/wavpack_numcodecs/compat_ext.c: In function ‘__Pyx_PyInt_As_long’:
      src/wavpack_numcodecs/compat_ext.c:4063:27: error: too few arguments to function ‘_PyLong_AsByteArray’
       4063 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
            |                           ^~~~~~~~~~~~~~~~~~~
      In file included from /home/alessio/.local/share/uv/python/cpython-3.13.2-linux-x86_64-gnu/include/python3.13/longobject.h:107,
                       from /home/alessio/.local/share/uv/python/cpython-3.13.2-linux-x86_64-gnu/include/python3.13/Python.h:81,
                       from src/wavpack_numcodecs/compat_ext.c:19:
      /home/alessio/.local/share/uv/python/cpython-3.13.2-linux-x86_64-gnu/include/python3.13/cpython/longobject.h:111:17: note: declared here
        111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
            |                 ^~~~~~~~~~~~~~~~~~~
      error: command '/usr/bin/cc' failed with exit code 1

      hint: This usually indicates a problem with the package or the build environment.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions