pyopengl icon indicating copy to clipboard operation
pyopengl copied to clipboard

Unable to install pyopengl-accelerate on py 3.12.3: `src/numpy_formathandler.pyx:22:42: 'Py_intptr_t' is not a type identifier`

Open sanjayankur31 opened this issue 1 year ago • 8 comments
trafficstars

I'm unable to install pyopengl-accelerate on py3.12.3:

$ python --version
Python 3.12.3

Attempting to install it using Pip gives:

pip install PyOpenGL-accelerate --no-cache-dir
Collecting PyOpenGL-accelerate
  Downloading PyOpenGL-accelerate-3.1.7.tar.gz (562 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 562.1/562.1 kB 76.9 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: PyOpenGL-accelerate
  Building wheel for PyOpenGL-accelerate (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for PyOpenGL-accelerate (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [147 lines of output]
      /tmp/pip-build-env-938jgl79/overlay/lib/python3.12/site-packages/setuptools/config/expand.py:133: SetuptoolsWarning: File '/tmp/pip-install-716aw1bs/pyopengl-accelerate_06de659d8366410d902c7ac43ce98a6d/readme.txt' cannot be found
        return '\n'.join(
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-x86_64-cpython-312
      creating build/lib.linux-x86_64-cpython-312/OpenGL_accelerate
      copying OpenGL_accelerate/__init__.py -> build/lib.linux-x86_64-cpython-312/OpenGL_accelerate
      running build_ext
      /tmp/pip-build-env-938jgl79/overlay/lib64/python3.12/site-packages/Cython/Compiler/Main.py:381: FutureWarning: Cython directive 'language_level' not set, using '3str' for now (Py3). This has changed from earlier releases! File: /tmp/pip-install-716aw1bs/pyopengl-accelerate_06de659d8366410d902c7ac43ce98a6d/OpenGL_accelerate/wrapper.pxd
        tree = Parsing.p_module(s, pxd, full_module_name)
      Compiling src/wrapper.pyx because it changed.
      [1/1] Cythonizing src/wrapper.pyx
      building 'OpenGL_accelerate.wrapper' extension
      creating build/temp.linux-x86_64-cpython-312
      creating build/temp.linux-x86_64-cpython-312/src
      gcc -fno-strict-overflow -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -fcf-protection -fexceptions -fcf-protection -fexceptions -fcf-protection -fexceptions -fPIC -I/tmp/pip-install-716aw1bs/pyopengl-accelerate_06de659d8366410d902c7ac43ce98a6d/src -I/tmp/pip-install-716aw1bs/pyopengl-accelerate_06de659d8366410d902c7ac43ce98a6d -I/home/asinha/.local/share/virtualenvs/neuroml-312-dev/include -I/usr/include/python3.12 -c src/wrapper.c -o build/temp.linux-x86_64-cpython-312/src/wrapper.o
      gcc -shared build/temp.linux-x86_64-cpython-312/src/wrapper.o -L/usr/lib64 -o build/lib.linux-x86_64-cpython-312/OpenGL_accelerate/wrapper.cpython-312-x86_64-linux-gnu.so
      /tmp/pip-build-env-938jgl79/overlay/lib64/python3.12/site-packages/Cython/Compiler/Main.py:381: FutureWarning: Cython directive 'language_level' not set, using '3str' for now (Py3). This has changed from earlier releases! File: /tmp/pip-install-716aw1bs/pyopengl-accelerate_06de659d8366410d902c7ac43ce98a6d/OpenGL_accelerate/formathandler.pxd
        tree = Parsing.p_module(s, pxd, full_module_name)
      Compiling src/formathandler.pyx because it changed.
      [1/1] Cythonizing src/formathandler.pyx
      building 'OpenGL_accelerate.formathandler' extension
      gcc -fno-strict-overflow -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -fcf-protection -fexceptions -fcf-protection -fexceptions -fcf-protection -fexceptions -fPIC -I/tmp/pip-install-716aw1bs/pyopengl-accelerate_06de659d8366410d902c7ac43ce98a6d/src -I/tmp/pip-install-716aw1bs/pyopengl-accelerate_06de659d8366410d902c7ac43ce98a6d -I/home/asinha/.local/share/virtualenvs/neuroml-312-dev/include -I/usr/include/python3.12 -c src/formathandler.c -o build/temp.linux-x86_64-cpython-312/src/formathandler.o
      gcc -shared build/temp.linux-x86_64-cpython-312/src/formathandler.o -L/usr/lib64 -o build/lib.linux-x86_64-cpython-312/OpenGL_accelerate/formathandler.cpython-312-x86_64-linux-gnu.so
      /tmp/pip-build-env-938jgl79/overlay/lib64/python3.12/site-packages/Cython/Compiler/Main.py:381: FutureWarning: Cython directive 'language_level' not set, using '3str' for now (Py3). This has changed from earlier releases! File: /tmp/pip-install-716aw1bs/pyopengl-accelerate_06de659d8366410d902c7ac43ce98a6d/src/arraydatatype.pyx
        tree = Parsing.p_module(s, pxd, full_module_name)
      Compiling src/arraydatatype.pyx because it changed.
      [1/1] Cythonizing src/arraydatatype.pyx
      building 'OpenGL_accelerate.arraydatatype' extension
      gcc -fno-strict-overflow -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -fcf-protection -fexceptions -fcf-protection -fexceptions -fcf-protection -fexceptions -fPIC -I/tmp/pip-install-716aw1bs/pyopengl-accelerate_06de659d8366410d902c7ac43ce98a6d/src -I/tmp/pip-install-716aw1bs/pyopengl-accelerate_06de659d8366410d902c7ac43ce98a6d -I/home/asinha/.local/share/virtualenvs/neuroml-312-dev/include -I/usr/include/python3.12 -c src/arraydatatype.c -o build/temp.linux-x86_64-cpython-312/src/arraydatatype.o
      gcc -shared build/temp.linux-x86_64-cpython-312/src/arraydatatype.o -L/usr/lib64 -o build/lib.linux-x86_64-cpython-312/OpenGL_accelerate/arraydatatype.cpython-312-x86_64-linux-gnu.so
      /tmp/pip-build-env-938jgl79/overlay/lib64/python3.12/site-packages/Cython/Compiler/Main.py:381: FutureWarning: Cython directive 'language_level' not set, using '3str' for now (Py3). This has changed from earlier releases! File: /tmp/pip-install-716aw1bs/pyopengl-accelerate_06de659d8366410d902c7ac43ce98a6d/src/errorchecker.pyx
        tree = Parsing.p_module(s, pxd, full_module_name)
      Compiling src/errorchecker.pyx because it changed.
      [1/1] Cythonizing src/errorchecker.pyx
      building 'OpenGL_accelerate.errorchecker' extension
      gcc -fno-strict-overflow -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -fcf-protection -fexceptions -fcf-protection -fexceptions -fcf-protection -fexceptions -fPIC -I/tmp/pip-install-716aw1bs/pyopengl-accelerate_06de659d8366410d902c7ac43ce98a6d/src -I/tmp/pip-install-716aw1bs/pyopengl-accelerate_06de659d8366410d902c7ac43ce98a6d -I/home/asinha/.local/share/virtualenvs/neuroml-312-dev/include -I/usr/include/python3.12 -c src/errorchecker.c -o build/temp.linux-x86_64-cpython-312/src/errorchecker.o
      gcc -shared build/temp.linux-x86_64-cpython-312/src/errorchecker.o -L/usr/lib64 -o build/lib.linux-x86_64-cpython-312/OpenGL_accelerate/errorchecker.cpython-312-x86_64-linux-gnu.so
      /tmp/pip-build-env-938jgl79/overlay/lib64/python3.12/site-packages/Cython/Compiler/Main.py:381: FutureWarning: Cython directive 'language_level' not set, using '3str' for now (Py3). This has changed from earlier releases! File: /tmp/pip-install-716aw1bs/pyopengl-accelerate_06de659d8366410d902c7ac43ce98a6d/src/vbo.pyx
        tree = Parsing.p_module(s, pxd, full_module_name)
      Compiling src/vbo.pyx because it changed.
      [1/1] Cythonizing src/vbo.pyx
      building 'OpenGL_accelerate.vbo' extension
      gcc -fno-strict-overflow -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -fcf-protection -fexceptions -fcf-protection -fexceptions -fcf-protection -fexceptions -fPIC -I/tmp/pip-install-716aw1bs/pyopengl-accelerate_06de659d8366410d902c7ac43ce98a6d/src -I/tmp/pip-install-716aw1bs/pyopengl-accelerate_06de659d8366410d902c7ac43ce98a6d -I/home/asinha/.local/share/virtualenvs/neuroml-312-dev/include -I/usr/include/python3.12 -c src/vbo.c -o build/temp.linux-x86_64-cpython-312/src/vbo.o
      gcc -shared build/temp.linux-x86_64-cpython-312/src/vbo.o -L/usr/lib64 -o build/lib.linux-x86_64-cpython-312/OpenGL_accelerate/vbo.cpython-312-x86_64-linux-gnu.so
      /tmp/pip-build-env-938jgl79/overlay/lib64/python3.12/site-packages/Cython/Compiler/Main.py:381: FutureWarning: Cython directive 'language_level' not set, using '3str' for now (Py3). This has changed from earlier releases! File: /tmp/pip-install-716aw1bs/pyopengl-accelerate_06de659d8366410d902c7ac43ce98a6d/src/nones_formathandler.pyx
        tree = Parsing.p_module(s, pxd, full_module_name)
      Compiling src/nones_formathandler.pyx because it changed.
      [1/1] Cythonizing src/nones_formathandler.pyx
      building 'OpenGL_accelerate.nones_formathandler' extension
      gcc -fno-strict-overflow -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -fcf-protection -fexceptions -fcf-protection -fexceptions -fcf-protection -fexceptions -fPIC -I/tmp/pip-install-716aw1bs/pyopengl-accelerate_06de659d8366410d902c7ac43ce98a6d/src -I/tmp/pip-install-716aw1bs/pyopengl-accelerate_06de659d8366410d902c7ac43ce98a6d -I/home/asinha/.local/share/virtualenvs/neuroml-312-dev/include -I/usr/include/python3.12 -c src/nones_formathandler.c -o build/temp.linux-x86_64-cpython-312/src/nones_formathandler.o
      gcc -shared build/temp.linux-x86_64-cpython-312/src/nones_formathandler.o -L/usr/lib64 -o build/lib.linux-x86_64-cpython-312/OpenGL_accelerate/nones_formathandler.cpython-312-x86_64-linux-gnu.so
      /tmp/pip-build-env-938jgl79/overlay/lib64/python3.12/site-packages/Cython/Compiler/Main.py:381: FutureWarning: Cython directive 'language_level' not set, using '3str' for now (Py3). This has changed from earlier releases! File: /tmp/pip-install-716aw1bs/pyopengl-accelerate_06de659d8366410d902c7ac43ce98a6d/src/latebind.pyx
        tree = Parsing.p_module(s, pxd, full_module_name)
      Compiling src/latebind.pyx because it changed.
      [1/1] Cythonizing src/latebind.pyx
      building 'OpenGL_accelerate.latebind' extension
      gcc -fno-strict-overflow -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -fcf-protection -fexceptions -fcf-protection -fexceptions -fcf-protection -fexceptions -fPIC -I/tmp/pip-install-716aw1bs/pyopengl-accelerate_06de659d8366410d902c7ac43ce98a6d/src -I/tmp/pip-install-716aw1bs/pyopengl-accelerate_06de659d8366410d902c7ac43ce98a6d -I/home/asinha/.local/share/virtualenvs/neuroml-312-dev/include -I/usr/include/python3.12 -c src/latebind.c -o build/temp.linux-x86_64-cpython-312/src/latebind.o
      gcc -shared build/temp.linux-x86_64-cpython-312/src/latebind.o -L/usr/lib64 -o build/lib.linux-x86_64-cpython-312/OpenGL_accelerate/latebind.cpython-312-x86_64-linux-gnu.so
      /tmp/pip-build-env-938jgl79/overlay/lib64/python3.12/site-packages/Cython/Compiler/Main.py:381: FutureWarning: Cython directive 'language_level' not set, using '3str' for now (Py3). This has changed from earlier releases! File: /tmp/pip-install-716aw1bs/pyopengl-accelerate_06de659d8366410d902c7ac43ce98a6d/src/buffers_formathandler.pyx
        tree = Parsing.p_module(s, pxd, full_module_name)
      Compiling src/buffers_formathandler.pyx because it changed.
      [1/1] Cythonizing src/buffers_formathandler.pyx
      building 'OpenGL_accelerate.buffers_formathandler' extension
      gcc -fno-strict-overflow -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -fcf-protection -fexceptions -fcf-protection -fexceptions -fcf-protection -fexceptions -fPIC -I/tmp/pip-install-716aw1bs/pyopengl-accelerate_06de659d8366410d902c7ac43ce98a6d/src -I/tmp/pip-install-716aw1bs/pyopengl-accelerate_06de659d8366410d902c7ac43ce98a6d -I/home/asinha/.local/share/virtualenvs/neuroml-312-dev/include -I/usr/include/python3.12 -c src/buffers_formathandler.c -o build/temp.linux-x86_64-cpython-312/src/buffers_formathandler.o
      gcc -shared build/temp.linux-x86_64-cpython-312/src/buffers_formathandler.o -L/usr/lib64 -o build/lib.linux-x86_64-cpython-312/OpenGL_accelerate/buffers_formathandler.cpython-312-x86_64-linux-gnu.so
      /tmp/pip-build-env-938jgl79/overlay/lib64/python3.12/site-packages/Cython/Compiler/Main.py:381: FutureWarning: Cython directive 'language_level' not set, using '3str' for now (Py3). This has changed from earlier releases! File: /tmp/pip-install-716aw1bs/pyopengl-accelerate_06de659d8366410d902c7ac43ce98a6d/src/numpy_formathandler.pyx
        tree = Parsing.p_module(s, pxd, full_module_name)

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef int PyArray_CheckScalar( object )
          int NPY_ARRAY_CARRAY
          int NPY_ARRAY_FORCECAST
          int PyArray_ISCARRAY( np.ndarray instance )
          int PyArray_ISCARRAY_RO( np.ndarray instance )
          cdef np.ndarray PyArray_Zeros(int nd, np.Py_intptr_t* dims, np.dtype, int fortran)
                                                ^
      ------------------------------------------------------------

      src/numpy_formathandler.pyx:22:42: 'Py_intptr_t' is not a type identifier
      Compiling src/numpy_formathandler.pyx because it changed.
      [1/1] Cythonizing src/numpy_formathandler.pyx
      Traceback (most recent call last):
        File "/home/asinha/.local/share/virtualenvs/neuroml-312-dev/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/home/asinha/.local/share/virtualenvs/neuroml-312-dev/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/home/asinha/.local/share/virtualenvs/neuroml-312-dev/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 251, in build_wheel
          return _build_backend().build_wheel(wheel_directory, config_settings,
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-938jgl79/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 410, in build_wheel
          return self._build_with_temp_dir(
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-938jgl79/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 395, in _build_with_temp_dir
          self.run_setup()
        File "/tmp/pip-build-env-938jgl79/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 311, in run_setup
          exec(code, locals())
        File "<string>", line 113, in <module>
        File "/tmp/pip-build-env-938jgl79/overlay/lib/python3.12/site-packages/setuptools/__init__.py", line 103, in setup
          return distutils.core.setup(**attrs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-938jgl79/overlay/lib/python3.12/site-packages/setuptools/_distutils/core.py", line 184, in setup
          return run_commands(dist)
                 ^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-938jgl79/overlay/lib/python3.12/site-packages/setuptools/_distutils/core.py", line 200, in run_commands
          dist.run_commands()
        File "/tmp/pip-build-env-938jgl79/overlay/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
          self.run_command(cmd)
        File "/tmp/pip-build-env-938jgl79/overlay/lib/python3.12/site-packages/setuptools/dist.py", line 968, in run_command
          super().run_command(command)
        File "/tmp/pip-build-env-938jgl79/overlay/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/tmp/pip-build-env-938jgl79/normal/lib/python3.12/site-packages/wheel/bdist_wheel.py", line 368, in run
          self.run_command("build")
        File "/tmp/pip-build-env-938jgl79/overlay/lib/python3.12/site-packages/setuptools/_distutils/cmd.py", line 316, in run_command
          self.distribution.run_command(command)
        File "/tmp/pip-build-env-938jgl79/overlay/lib/python3.12/site-packages/setuptools/dist.py", line 968, in run_command
          super().run_command(command)
        File "/tmp/pip-build-env-938jgl79/overlay/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/tmp/pip-build-env-938jgl79/overlay/lib/python3.12/site-packages/setuptools/_distutils/command/build.py", line 132, in run
          self.run_command(cmd_name)
        File "/tmp/pip-build-env-938jgl79/overlay/lib/python3.12/site-packages/setuptools/_distutils/cmd.py", line 316, in run_command
          self.distribution.run_command(command)
        File "/tmp/pip-build-env-938jgl79/overlay/lib/python3.12/site-packages/setuptools/dist.py", line 968, in run_command
          super().run_command(command)
        File "/tmp/pip-build-env-938jgl79/overlay/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/tmp/pip-build-env-938jgl79/overlay/lib/python3.12/site-packages/setuptools/_distutils/command/build_ext.py", line 359, in run
          self.build_extensions()
        File "/tmp/pip-build-env-938jgl79/overlay/lib/python3.12/site-packages/setuptools/_distutils/command/build_ext.py", line 479, in build_extensions
          self._build_extensions_serial()
        File "/tmp/pip-build-env-938jgl79/overlay/lib/python3.12/site-packages/setuptools/_distutils/command/build_ext.py", line 505, in _build_extensions_serial
          self.build_extension(ext)
        File "/tmp/pip-build-env-938jgl79/overlay/lib64/python3.12/site-packages/Cython/Distutils/build_ext.py", line 130, in build_extension
          new_ext = cythonize(
                    ^^^^^^^^^^
        File "/tmp/pip-build-env-938jgl79/overlay/lib64/python3.12/site-packages/Cython/Build/Dependencies.py", line 1154, in cythonize
          cythonize_one(*args)
        File "/tmp/pip-build-env-938jgl79/overlay/lib64/python3.12/site-packages/Cython/Build/Dependencies.py", line 1321, in cythonize_one
          raise CompileError(None, pyx_file)
      Cython.Compiler.Errors.CompileError: src/numpy_formathandler.pyx
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for PyOpenGL-accelerate
Failed to build PyOpenGL-accelerate
ERROR: Could not build wheels for PyOpenGL-accelerate, which is required to install pyproject.toml-based projects

Weirdly enough, I do have wheels of pyopengl-accelerate for py3.12 in my pip cache, so it did build successfully at some point. Not sure what has changed. I only noticed this because it has started failing in our GitHub actions.

Any one else seeing this? Any ideas?

sanjayankur31 avatar Jun 18 '24 11:06 sanjayankur31

FWIW: I don't need the numpy format handlers so I have used a brutal approach (ignore the fact that the patch is misnamed): https://github.com/Xpra-org/xpra/blob/master/packaging/rpm/patches/pyopengl-py3.13-nonumpy.patch

totaam avatar Jun 18 '24 11:06 totaam

Thanks @totaam : not sure if this will work on our CI, I'll take a look.

sanjayankur31 avatar Jun 18 '24 12:06 sanjayankur31

met same issue with python 3.9.16 and python 3.10.10 also under macOS Sonoma 14.5

adonishong avatar Jul 18 '24 15:07 adonishong

Same issue here with python 3.12.4 :|

tomhaber avatar Aug 19 '24 13:08 tomhaber

Has anybody found the solution of this problem? I am facing the same issue with Python version 3.12.3

WaleedFarooq51 avatar Aug 28 '24 21:08 WaleedFarooq51

havent found the problem yet but i found a reference to Py_intptr_t in the numpy C ABI https://numpy.org/doc/stable/reference/c-api/dtype.html#c.npy_intp

Before NumPy 2.0, this was the same as Py_intptr_t. While a better match, this did not match actual usage in practice. On the Python side, we still support np.dtype('p') to fetch a dtype compatible with storing pointers, while n is the correct character for the ssize_t.

MoralCode avatar Sep 10 '24 21:09 MoralCode

this looks like it was fixed in 3.1.8, specifically commit https://github.com/mcfletch/pyopengl/commit/f897b0ed75c00d4c524be4689683a334832217ac

https://github.com/mcfletch/pyopengl/releases/tag/release-3.1.8

seems like its just not released to pypi

Likely solutions until its released on pypi: install from git tag release-3.1.8 or install from the tarball in the release linked above

MoralCode avatar Sep 10 '24 21:09 MoralCode

For everyone looking to fix this using requirements.txt add the following code:

PyOpenGL @ git+https://github.com/mcfletch/[email protected]#egg=PyOpenGL
PyOpenGL_accelerate @ git+https://github.com/mcfletch/[email protected]#egg=PyOpenGL_accelerate&subdirectory=accelerate

captainjapeng avatar Sep 15 '24 04:09 captainjapeng

For everyone looking to fix this using requirements.txt add the following code:

PyOpenGL @ git+https://github.com/mcfletch/[email protected]#egg=PyOpenGL
PyOpenGL_accelerate @ git+https://github.com/mcfletch/[email protected]#egg=PyOpenGL_accelerate&subdirectory=accelerate

That didn't work for me. Just got a different error.

gulagkulak avatar Oct 04 '24 07:10 gulagkulak

For everyone looking to fix this using requirements.txt add the following code:

PyOpenGL @ git+https://github.com/mcfletch/[email protected]#egg=PyOpenGL
PyOpenGL_accelerate @ git+https://github.com/mcfletch/[email protected]#egg=PyOpenGL_accelerate&subdirectory=accelerate

Did not work for me neither, get a different error:

 In file included from /private/var/folders/52/btz32yzx0kvdm3yz2tz94h400000gn/T/pip-build-env-66riws8i/overlay/lib/python3.13/site-packages/numpy/_core/include/numpy/ndarraytypes.h:1913:
      /private/var/folders/52/btz32yzx0kvdm3yz2tz94h400000gn/T/pip-build-env-66riws8i/overlay/lib/python3.13/site-packages/numpy/_core/include/numpy/npy_1_7_deprecated_api.h:17:2: warning: "Using deprecated NumPy API, disable it with "          "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-W#warnings]
         17 | #warning "Using deprecated NumPy API, disable it with " \
            |  ^
      src/numpy_formathandler.c:6950:42: warning: incompatible pointer types passing 'PyObject *' (aka 'struct _object *') to parameter of type 'PyArrayObject *' (aka 'struct tagPyArrayObject_fields *') [-Wincompatible-pointer-types]
       6950 |     __pyx_v_res = PyArray_FillWithScalar(((PyObject *)__pyx_v_working), __pyx_v_instance);
            |                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      src/numpy_formathandler.c:10347:3: error: incompatible pointer to integer conversion returning 'void *' from a function with result type 'int' [-Wint-conversion]
       10347 |   import_array();
             |   ^~~~~~~~~~~~~~
      /private/var/folders/52/btz32yzx0kvdm3yz2tz94h400000gn/T/pip-build-env-66riws8i/overlay/lib/python3.13/site-packages/numpy/_core/include/numpy/__multiarray_api.h:1588:12: note: expanded from macro 'import_array'
       1588 |     return NULL; \
            |            ^~~~
      /Library/Developer/CommandLineTools/usr/lib/clang/16/include/__stddef_null.h:26:14: note: expanded from macro 'NULL'
         26 | #define NULL ((void *)0)
            |              ^~~~~~~~~~~
      2 warnings and 1 error generated.
      error: command '/usr/bin/clang' 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 PyOpenGL_accelerate
Successfully built PyOpenGL
Failed to build PyOpenGL_accelerate

srgg avatar Dec 29 '24 03:12 srgg

Don't have clang setup handy here to test, but the code on develop should address the warnings that were generating the failures.

mcfletch avatar Dec 30 '24 15:12 mcfletch

@mcfletch this seems like it could be some combination of cython/numpy version incompatiblities with the 3.1.7 code. I've run into similar problems at least for some of my packages as numpy 2.0+ and cython 3.0+ are in greater use. For me, using the repo's pre-release 3.1.8 worked on my linux machine with gcc 11.4, cpython 3.12.8, numpy 2.1.3 and cython 0.29.37 . I seemed to have trouble using cython 3.0.x

cleemesser avatar Jan 02 '25 22:01 cleemesser

Should be fixed by now. Please close the issue.

Zuzu-Typ avatar Feb 04 '25 10:02 Zuzu-Typ