GregDMeyer / IT8951

Driver for the IT8951 e-paper controller on Raspberry Pi
MIT License
155 stars 55 forks source link

Add Python 3.11 support #60

Closed climblinne closed 1 year ago

climblinne commented 1 year ago

Hello,

when trying your package under the newest Raspberry OS (based on Debian "bookworm") the installed Python 3.11 gives me the following error:

sudo pip install IT8951
Looking in indexes: https://<internal-proxy-server>
Collecting IT8951
  Using cached https://<internal-proxy-server>/IT8951/0.1.0/IT8951-0.1.0.tar.gz (243 kB)
  Preparing metadata (setup.py) ... done
Building wheels for collected packages: IT8951
  Building wheel for IT8951 (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [20 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-aarch64-cpython-311
      creating build/lib.linux-aarch64-cpython-311/IT8951
      copying IT8951/interface.py -> build/lib.linux-aarch64-cpython-311/IT8951
      copying IT8951/constants.py -> build/lib.linux-aarch64-cpython-311/IT8951
      copying IT8951/display.py -> build/lib.linux-aarch64-cpython-311/IT8951
      copying IT8951/__init__.py -> build/lib.linux-aarch64-cpython-311/IT8951
      running build_ext
      building 'IT8951.spi' extension
      creating build/temp.linux-aarch64-cpython-311
      creating build/temp.linux-aarch64-cpython-311/IT8951
      aarch64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/usr/include/python3.11 -c IT8951/spi.c -o build/temp.linux-aarch64-cpython-311/IT8951/spi.o
      IT8951/spi.c:209:12: fatal error: longintrepr.h: No such file or directory
        209 |   #include "longintrepr.h"
            |            ^~~~~~~~~~~~~~~
      compilation terminated.
      error: command '/usr/bin/aarch64-linux-gnu-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 IT8951
  Running setup.py clean for IT8951
Failed to build IT8951
Installing collected packages: IT8951
  Running setup.py install for IT8951 ... error
  error: subprocess-exited-with-error

  × Running setup.py install for IT8951 did not run successfully.
  │ exit code: 1
  ╰─> [22 lines of output]
      running install
      /usr/lib/python3/dist-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
        warnings.warn(
      running build
      running build_py
      creating build
      creating build/lib.linux-aarch64-cpython-311
      creating build/lib.linux-aarch64-cpython-311/IT8951
      copying IT8951/interface.py -> build/lib.linux-aarch64-cpython-311/IT8951
      copying IT8951/constants.py -> build/lib.linux-aarch64-cpython-311/IT8951
      copying IT8951/display.py -> build/lib.linux-aarch64-cpython-311/IT8951
      copying IT8951/__init__.py -> build/lib.linux-aarch64-cpython-311/IT8951
      running build_ext
      building 'IT8951.spi' extension
      creating build/temp.linux-aarch64-cpython-311
      creating build/temp.linux-aarch64-cpython-311/IT8951
      aarch64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/usr/include/python3.11 -c IT8951/spi.c -o build/temp.linux-aarch64-cpython-311/IT8951/spi.o
      IT8951/spi.c:209:12: fatal error: longintrepr.h: No such file or directory
        209 |   #include "longintrepr.h"
            |            ^~~~~~~~~~~~~~~
      compilation terminated.
      error: command '/usr/bin/aarch64-linux-gnu-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: legacy-install-failure

× Encountered error while trying to install package.
╰─> IT8951

note: This is an issue with the package mentioned above, not pip.
hint: See above for output from the failure.
climblinne commented 1 year ago

I thought, the version was provided by PyPi, but it's only comes from our local instance. So I updated the package and it worked again.