mcfletch / pyopengl

Repository for the PyOpenGL Project
Other
314 stars 97 forks source link

python3.10 pip install PyOpenGL_accelerate fails with error: lvalue required as increment operand #79

Open diabolusss opened 2 years ago

diabolusss commented 2 years ago

Hello! Please, suggest me is it possible to install PyOpenGL_accelerate using python3.10? I've tried to find already compiled wheel, but it seems that for linux no one packages them – only for windows… PyOpenGL installed with no problems.

Basic info:

Archlinux  5.15.24-1-lts 
pip 22.0.3 from /home/ubuntu/.local/lib/python3.10/site-packages/pip (python 3.10)
gcc (GCC) 11.2.0

Error:

2022-02-22T04:58:11,529   building 'OpenGL_accelerate.vbo' extension
2022-02-22T04:58:11,530   gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -flto -ffat-lto-objects -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -flto -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -flto -fPIC -I/tmp/pip-install-78uaj4yl/pyopengl-accelerate_13ae3ce832c44576b8730ad712dda689/.. -I/tmp/pip-install-78uaj4yl/pyopengl-accelerate_13ae3ce832c44576b8730ad712dda689/src -I/tmp/pip-install-78uaj4yl/pyopengl-accelerate_13ae3ce832c44576b8730ad712dda689 -I/usr/include/python3.10 -c src/vbo.c -o build/temp.linux-x86_64-3.10/src/vbo.o
2022-02-22T04:58:11,837   src/vbo.c: In function '__pyx_tp_dealloc_17OpenGL_accelerate_3vbo_VBO':
2022-02-22T04:58:11,839   src/vbo.c:11131:5: error: lvalue required as increment operand
2022-02-22T04:58:11,840   11131 |     ++Py_REFCNT(o);
2022-02-22T04:58:11,840         |     ^~
2022-02-22T04:58:11,842   src/vbo.c:11133:5: error: lvalue required as decrement operand
2022-02-22T04:58:11,842   11133 |     --Py_REFCNT(o);
2022-02-22T04:58:11,843         |     ^~
2022-02-22T04:58:11,849   src/vbo.c: In function '__pyx_tp_dealloc_17OpenGL_accelerate_3vbo_VBOOffset':
2022-02-22T04:58:11,852   src/vbo.c:11619:5: error: lvalue required as increment operand
2022-02-22T04:58:11,853   11619 |     ++Py_REFCNT(o);
2022-02-22T04:58:11,853         |     ^~
2022-02-22T04:58:11,855   src/vbo.c:11621:5: error: lvalue required as decrement operand
2022-02-22T04:58:11,856   11621 |     --Py_REFCNT(o);
2022-02-22T04:58:11,856         |     ^~

Full installation log

Manual build using github sources fails with other error:

$ python3.10 setup.py develop --user > manual.log
/home/ubuntu/.local/lib/python3.10/site-packages/setuptools/command/easy_install.py:160: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools.
  warnings.warn(
/home/ubuntu/.local/lib/python3.10/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
  warnings.warn(
src/wrapper.c: In function '__Pyx_modinit_type_init_code':
src/wrapper.c:24653:56: error: 'PyTypeObject' {aka 'struct _typeobject'} has no member named 'tp_print'
24653 |   __pyx_type_17OpenGL_accelerate_7wrapper_cArgConverter.tp_print = 0;
EpicWink commented 2 years ago

Duplicate of #74 . Current workaround (while sdist isn't released) is to install from source:

pip install git+https://github.com/mcfletch/pyopengl.git@227f9c66976d9f5dadf62b9a97e6beaec84831ca#subdirectory=accelerate
diabolusss commented 2 years ago

Thank you!