adafruit / Adafruit_Blinka

Add CircuitPython hardware API and libraries to MicroPython & CPython devices
https://learn.adafruit.com/circuitpython-on-raspberrypi-linux
MIT License
437 stars 327 forks source link

DietPi - Error installing Adafruit-Blinka #832

Closed SystemTheory closed 1 month ago

SystemTheory commented 1 month ago

Board Name

Raspberry Pi 3A+

Steps

root@dpi3A /root
# tree -L 2 .virtualenvs/blinka
.virtualenvs/blinka
├── bin
│   ├── activate
│   ├── activate.csh
│   ├── activate.fish
│   ├── activate.nu
│   ├── activate.ps1
│   ├── activate_this.py
│   ├── pip
│   ├── pip-3.11
│   ├── pip3
│   ├── pip3.11
│   ├── python -> /usr/bin/python3
│   ├── python3 -> python
│   ├── python3.11 -> python
│   ├── wheel
│   ├── wheel-3.11
│   ├── wheel3
│   └── wheel3.11
├── lib
│   └── python3.11
└── pyvenv.cfg

4 directories, 18 files
root@dpi3A /root
# cat .virtualenvs/blinka/pyvenv.cfg
home = /usr/bin
implementation = CPython
version_info = 3.11.2.final.0
virtualenv = 20.17.1+ds
include-system-site-packages = true
base-prefix = /usr
base-exec-prefix = /usr
base-executable = /usr/bin/python3
root@dpi3A /root
# workon blinka
(blinka)
root@dpi3A /root
# pip3 list
Package           Version
----------------- ----------
distlib           0.3.6
filelock          3.9.0
pbr               5.10.0
pip               23.0.1
platformdirs      2.6.0
RPi.GPIO          0.7.1a4
setuptools        66.1.1
six               1.16.0
stevedore         4.0.2
virtualenv        20.17.1+ds
virtualenv-clone  0.3.0
virtualenvwrapper 4.8.4
wheel             0.38.4
(blinka)
root@dpi3A /root
# pip3 install Adafruit-Blinka
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting Adafruit-Blinka
  Using cached https://www.piwheels.org/simple/adafruit-blinka/Adafruit_Blinka-8.39.2-py3-none-any.whl (335 kB)
Collecting Adafruit-PlatformDetect>=3.62.0
  Using cached https://www.piwheels.org/simple/adafruit-platformdetect/Adafruit_PlatformDetect-3.63.0-py3-none-any.whl (24 kB)
Collecting Adafruit-PureIO>=1.1.7
  Using cached https://www.piwheels.org/simple/adafruit-pureio/Adafruit_PureIO-1.1.11-py3-none-any.whl (10 kB)
Collecting pyftdi>=0.40.0
  Using cached https://www.piwheels.org/simple/pyftdi/pyftdi-0.55.4-py3-none-any.whl (145 kB)
Collecting adafruit-circuitpython-typing
  Using cached https://www.piwheels.org/simple/adafruit-circuitpython-typing/adafruit_circuitpython_typing-1.10.3-py3-none-any.whl (11 kB)
Requirement already satisfied: RPi.GPIO in /usr/lib/python3/dist-packages (from Adafruit-Blinka) (0.7.1a4)
Collecting rpi-ws281x>=4.0.0
  Using cached rpi_ws281x-5.0.0.tar.gz (64 kB)
  Preparing metadata (setup.py) ... done
Collecting sysv-ipc>=1.1.0
  Using cached sysv_ipc-1.1.0.tar.gz (99 kB)
  Preparing metadata (setup.py) ... done
Collecting pyusb!=1.2.0,>=1.0.0
  Using cached https://www.piwheels.org/simple/pyusb/pyusb-1.2.1-py3-none-any.whl (58 kB)
Collecting pyserial>=3.0
  Using cached https://www.piwheels.org/simple/pyserial/pyserial-3.5-py2.py3-none-any.whl (90 kB)
Collecting adafruit-circuitpython-busdevice
  Using cached https://www.piwheels.org/simple/adafruit-circuitpython-busdevice/adafruit_circuitpython_busdevice-5.2.9-py3-none-any.whl (7.5 kB)
Collecting adafruit-circuitpython-requests
  Using cached https://www.piwheels.org/simple/adafruit-circuitpython-requests/adafruit_circuitpython_requests-4.0.0-py3-none-any.whl (10 kB)
Collecting typing-extensions~=4.0
  Using cached https://www.piwheels.org/simple/typing-extensions/typing_extensions-4.12.0-py3-none-any.whl (37 kB)
Collecting Adafruit-Circuitpython-ConnectionManager
  Using cached https://www.piwheels.org/simple/adafruit-circuitpython-connectionmanager/adafruit_circuitpython_connectionmanager-3.1.0-py3-none-any.whl (7.8 kB)
Building wheels for collected packages: rpi-ws281x, sysv-ipc
  Building wheel for rpi-ws281x (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [15 lines of output]
      running bdist_wheel
      running build
      running build_py
      Compiling ws281x library...
      creating build
      creating build/lib.linux-aarch64-cpython-311
      creating build/lib.linux-aarch64-cpython-311/rpi_ws281x
      copying rpi_ws281x/rpi_ws281x.py -> build/lib.linux-aarch64-cpython-311/rpi_ws281x
      copying rpi_ws281x/__init__.py -> build/lib.linux-aarch64-cpython-311/rpi_ws281x
      running build_ext
      building '_rpi_ws281x' extension
      creating build/temp.linux-aarch64-cpython-311
      creating build/temp.linux-aarch64-cpython-311/lib
      aarch64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I. -I/root/.virtualenvs/blinka/include -I/usr/include/python3.11 -c lib/dma.c -o build/temp.linux-aarch64-cpython-311/lib/dma.o
      error: command 'aarch64-linux-gnu-gcc' failed: No such file or directory
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for rpi-ws281x
  Running setup.py clean for rpi-ws281x
  Building wheel for sysv-ipc (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [15 lines of output]
      ******************************************************************************
      * Setup can't determine the value of PAGE_SIZE on your system, so it will
      * default to 4096 which may not be correct.
      *
      * Please report this message and your operating system info to the package
      * maintainer listed in the README file.
      ******************************************************************************
      running bdist_wheel
      running build
      running build_ext
      building 'sysv_ipc' extension
      creating build
      creating build/temp.linux-aarch64-cpython-311
      aarch64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/root/.virtualenvs/blinka/include -I/usr/include/python3.11 -c common.c -o build/temp.linux-aarch64-cpython-311/common.o
      error: command 'aarch64-linux-gnu-gcc' failed: No such file or directory
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for sysv-ipc
  Running setup.py clean for sysv-ipc
Failed to build rpi-ws281x sysv-ipc
Installing collected packages: sysv-ipc, pyserial, Adafruit-PlatformDetect, typing-extensions, rpi-ws281x, pyusb, Adafruit-PureIO, pyftdi, Adafruit-Circuitpython-ConnectionManager, adafruit-circuitpython-requests, adafruit-circuitpython-busdevice, adafruit-circuitpython-typing, Adafruit-Blinka
  Running setup.py install for sysv-ipc ... error
  error: subprocess-exited-with-error

  × Running setup.py install for sysv-ipc did not run successfully.
  │ exit code: 1
  ╰─> [17 lines of output]
      ******************************************************************************
      * Setup can't determine the value of PAGE_SIZE on your system, so it will
      * default to 4096 which may not be correct.
      *
      * Please report this message and your operating system info to the package
      * maintainer listed in the README file.
      ******************************************************************************
      running install
      /root/.virtualenvs/blinka/lib/python3.11/site-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_ext
      building 'sysv_ipc' extension
      creating build
      creating build/temp.linux-aarch64-cpython-311
      aarch64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/root/.virtualenvs/blinka/include -I/usr/include/python3.11 -c common.c -o build/temp.linux-aarch64-cpython-311/common.o
      error: command 'aarch64-linux-gnu-gcc' failed: No such file or directory
      [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.
╰─> sysv-ipc

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

Description

Adding the option --break-system-packages does not solve my problem.

ERROR: Failed building wheel for rpi-ws281x
ERROR: Failed building wheel for sysv-ipc
error: command 'aarch64-linux-gnu-gcc' failed: No such file or directory

If possible I would rather not install gnu-gcc and build dependencies.

SystemTheory commented 1 month ago

This solution:

https://github.com/MichaIng/DietPi/issues/5563

Convinced me to install gcc and that solved my problem:

root@dpi3A /root
# apt list gcc
Listing... Done
gcc/stable 4:12.2.0-3 arm64

root@dpi3A /root
# apt install gcc