Skip to content

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

@sanjayankur31

Description

@sanjayankur31

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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions