Hello.
I'm trying to install Octoprint on BananaPi M1.
I get an error occurs during installation.
System: Armbian 23.08.0, Python 3.10.6
Can someone help me with the installation?
login as: octo
octo@192.168.1.60's password:
____ ____ _
| __ )| _ \(_)
| _ \| |_) | |
| |_) | __/| |
|____/|_| |_|
Welcome to Armbian 23.08.0-trunk Jammy with Linux 6.1.37-sunxi
No end-user support: built from trunk
System load: 58% Up time: 3 min
Memory usage: 7% of 966M IP: 192.168.1.60
CPU temp: 39Β°C Usage of /: 6% of 31G
RX today: 4.0 GiB
[ 39 security updates available, 81 updates total: apt upgrade ]
Last check: 2023-10-03 20:12
[ General system configuration (beta): armbian-config ]
octo@Octoprint:~$ cd Octoprint
octo@Octoprint:~/Octoprint$ pip install --no-cache-dir https://get.octoprint.org /latest
Defaulting to user installation because normal site-packages is not writeable
Collecting https://get.octoprint.org/latest
Downloading https://get.octoprint.org/latest (6.3 MB)
ββββββββββββββββββββββββββββββββββββββββ 6.3/6.3 MB 806.5 kB/s eta 0:00:00
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting pkginfo<2,>=1.9.6
Downloading pkginfo-1.9.6-py3-none-any.whl (30 kB)
Collecting pydantic<2,>=1.10.7
Downloading pydantic-1.10.13-py3-none-any.whl (158 kB)
ββββββββββββββββββββββββββββββββββββββββ 158.6/158.6 KB 1.1 MB/s eta 0:00:00
Collecting Flask-Login<0.7,>=0.6.2
Downloading Flask_Login-0.6.2-py3-none-any.whl (17 kB)
Collecting markdown<4,>=3.4.3
Downloading Markdown-3.4.4-py3-none-any.whl (94 kB)
ββββββββββββββββββββββββββββββββββββββββ 94.2/94.2 KB 6.9 MB/s eta 0:00:00
Collecting cachelib<0.11,>=0.10.2
Downloading cachelib-0.10.2-py3-none-any.whl (18 kB)
Collecting pylru<2,>=1.2.1
Downloading pylru-1.2.1-py3-none-any.whl (16 kB)
Collecting colorlog<7,>=6.7.0
Downloading colorlog-6.7.0-py2.py3-none-any.whl (11 kB)
Collecting OctoPrint-FirmwareCheck>=2021.10.11
Downloading OctoPrint_FirmwareCheck-2021.10.11-py2.py3-none-any.whl (33 kB)
Collecting flask<2.3,>=2.2.3
Downloading Flask-2.2.5-py3-none-any.whl (101 kB)
ββββββββββββββββββββββββββββββββββββββββ 101.8/101.8 KB 7.2 MB/s eta 0:00:00
Collecting Babel<2.13,>=2.12.1
Downloading Babel-2.12.1-py3-none-any.whl (10.1 MB)
ββββββββββββββββββββββββββββββββββββββββ 10.1/10.1 MB 2.9 MB/s eta 0:00:00
Collecting OctoPrint-PiSupport>=2023.5.24
Downloading OctoPrint_PiSupport-2023.7.31-py2.py3-none-any.whl (34 kB)
Collecting OctoPrint-FileCheck>=2021.2.23
Downloading OctoPrint_FileCheck-2021.2.23-py2.py3-none-any.whl (19 kB)
Collecting tornado<7,>=6.2
Downloading tornado-6.3.3.tar.gz (509 kB)
ββββββββββββββββββββββββββββββββββββββββ 509.9/509.9 KB 1.3 MB/s eta 0:00:00
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting pyserial<4,>=3.5
Downloading pyserial-3.5-py2.py3-none-any.whl (90 kB)
ββββββββββββββββββββββββββββββββββββββββ 90.6/90.6 KB 5.2 MB/s eta 0:00:00
Collecting requests<3,>=2.28.2
Downloading requests-2.31.0-py3-none-any.whl (62 kB)
ββββββββββββββββββββββββββββββββββββββββ 62.6/62.6 KB 7.0 MB/s eta 0:00:00
Requirement already satisfied: wheel in /usr/lib/python3/dist-packages (from OctoPrint==1.9.2) (0.37.1)
Collecting Click<9,>=8.1.3
Downloading click-8.1.7-py3-none-any.whl (97 kB)
ββββββββββββββββββββββββββββββββββββββββ 97.9/97.9 KB 1.4 MB/s eta 0:00:00
Collecting emoji<3,>=2.2.0
Downloading emoji-2.8.0-py2.py3-none-any.whl (358 kB)
ββββββββββββββββββββββββββββββββββββββββ 358.9/358.9 KB 595.8 kB/s eta 0:00:00
Collecting sarge==0.1.7.post1
Downloading sarge-0.1.7.post1-py2.py3-none-any.whl (18 kB)
Collecting Flask-Assets<3,>=2.0
Downloading Flask_Assets-2.0-py3-none-any.whl (8.5 kB)
Collecting werkzeug<2.3,>=2.2.3
Downloading Werkzeug-2.2.3-py3-none-any.whl (233 kB)
ββββββββββββββββββββββββββββββββββββββββ 233.6/233.6 KB 265.1 kB/s eta 0:00:00
Collecting zipstream-ng<2.0.0,>=1.5.0
Downloading zipstream_ng-1.7.1-py3-none-any.whl (22 kB)
Collecting blinker<2,>=1.6.1
Downloading blinker-1.6.2-py3-none-any.whl (13 kB)
Collecting PyYAML<7,>=6.0.1
Downloading PyYAML-6.0.1.tar.gz (125 kB)
ββββββββββββββββββββββββββββββββββββββββ 125.2/125.2 KB 512.3 kB/s eta 0:00:00
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting sentry-sdk<2,>=1.19.1
Downloading sentry_sdk-1.31.0-py2.py3-none-any.whl (224 kB)
ββββββββββββββββββββββββββββββββββββββββ 224.8/224.8 KB 380.6 kB/s eta 0:00:00
Collecting Flask-Limiter<4,>=3.3.0
Downloading Flask_Limiter-3.5.0-py3-none-any.whl (28 kB)
Collecting feedparser<7,>=6.0.10
Downloading feedparser-6.0.10-py3-none-any.whl (81 kB)
ββββββββββββββββββββββββββββββββββββββββ 81.1/81.1 KB 408.2 kB/s eta 0:00:00
Collecting netaddr<0.9,>=0.8
Downloading netaddr-0.8.0-py2.py3-none-any.whl (1.9 MB)
ββββββββββββββββββββββββββββββββββββββββ 1.9/1.9 MB 927.7 kB/s eta 0:00:00
Collecting websocket-client<2,>=1.5.1
Downloading websocket_client-1.6.3-py3-none-any.whl (57 kB)
ββββββββββββββββββββββββββββββββββββββββ 57.3/57.3 KB 7.0 MB/s eta 0:00:00
Collecting wrapt<1.16,>=1.15
Downloading wrapt-1.15.0-py3-none-any.whl (22 kB)
Collecting zeroconf==0.39.4
Downloading zeroconf-0.39.4-py3-none-any.whl (106 kB)
ββββββββββββββββββββββββββββββββββββββββ 106.4/106.4 KB 1.5 MB/s eta 0:00:00
Requirement already satisfied: netifaces<1,>=0.11 in /usr/lib/python3/dist-packages (from OctoPrint==1.9.2) (0.11.0)
Collecting passlib<2,>=1.7.4
Downloading passlib-1.7.4-py2.py3-none-any.whl (525 kB)
ββββββββββββββββββββββββββββββββββββββββ 525.6/525.6 KB 1.5 MB/s eta 0:00:00
Collecting argon2-cffi<22,>=21.3.0
Downloading argon2_cffi-21.3.0-py3-none-any.whl (14 kB)
Collecting future<1,>=0.18.3
Downloading future-0.18.3.tar.gz (840 kB)
ββββββββββββββββββββββββββββββββββββββββ 840.9/840.9 KB 1.6 MB/s eta 0:00:00
Preparing metadata (setup.py) ... done
Collecting watchdog<3,>=2.3.1
Downloading watchdog-2.3.1-py3-none-manylinux2014_armv7l.whl (80 kB)
ββββββββββββββββββββββββββββββββββββββββ 80.6/80.6 KB 6.9 MB/s eta 0:00:00
Collecting psutil<6,>=5.9.4
Downloading psutil-5.9.5.tar.gz (493 kB)
ββββββββββββββββββββββββββββββββββββββββ 493.5/493.5 KB 1.8 MB/s eta 0:00:00
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting pathvalidate<3,>=2.5.2
Downloading pathvalidate-2.5.2-py3-none-any.whl (20 kB)
Collecting Flask-Babel<4,>=3.1.0
Downloading flask_babel-3.1.0-py3-none-any.whl (9.6 kB)
Collecting class-doc<0.3,>=0.2.6
Downloading class_doc-0.2.6-py3-none-any.whl (4.7 kB)
Collecting regex
Downloading regex-2023.10.3.tar.gz (394 kB)
ββββββββββββββββββββββββββββββββββββββββ 394.7/394.7 KB 1.7 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
Collecting frozendict<3,>=2.3.7
Downloading frozendict-2.3.8.tar.gz (312 kB)
ββββββββββββββββββββββββββββββββββββββββ 312.1/312.1 KB 1.9 MB/s eta 0:00:00
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting unidecode
Downloading Unidecode-1.3.7-py3-none-any.whl (235 kB)
ββββββββββββββββββββββββββββββββββββββββ 235.5/235.5 KB 1.0 MB/s eta 0:00:00
Collecting filetype<2,>=1.2.0
Downloading filetype-1.2.0-py2.py3-none-any.whl (19 kB)
Collecting semantic-version<3,>=2.10.0
Downloading semantic_version-2.10.0-py2.py3-none-any.whl (15 kB)
Collecting async-timeout>=4.0.1
Downloading async_timeout-4.0.3-py3-none-any.whl (5.7 kB)
Collecting ifaddr>=0.1.7
Downloading ifaddr-0.2.0-py3-none-any.whl (12 kB)
Collecting argon2-cffi-bindings
Downloading argon2-cffi-bindings-21.2.0.tar.gz (1.8 MB)
ββββββββββββββββββββββββββββββββββββββββ 1.8/1.8 MB 1.3 MB/s eta 0:00:00
Installing build dependencies ... error
error: subprocess-exited-with-error
Γ pip subprocess to install build dependencies did not run successfully.
β exit code: 1
β°β> [76 lines of output]
Collecting setuptools>=45
Using cached setuptools-68.2.2-py3-none-any.whl (807 kB)
Collecting setuptools_scm>=6.2
Using cached setuptools_scm-8.0.4-py3-none-any.whl (42 kB)
Collecting wheel
Using cached wheel-0.41.2-py3-none-any.whl (64 kB)
Collecting cffi>=1.0.1
Using cached cffi-1.16.0.tar.gz (512 kB)
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
Installing backend dependencies: started
Installing backend dependencies: finished with status 'done'
Preparing metadata (pyproject.toml): started
Preparing metadata (pyproject.toml): finished with status 'done'
Collecting tomli>=1
Using cached tomli-2.0.1-py3-none-any.whl (12 kB)
Collecting packaging>=20
Using cached packaging-23.2-py3-none-any.whl (53 kB)
Collecting typing-extensions
Using cached typing_extensions-4.8.0-py3-none-any.whl (31 kB)
Collecting pycparser
Using cached pycparser-2.21-py2.py3-none-any.whl (118 kB)
Building wheels for collected packages: cffi
Building wheel for cffi (pyproject.toml): started
Building wheel for cffi (pyproject.toml): finished with status 'error'
error: subprocess-exited-with-error
Γ Building wheel for cffi (pyproject.toml) did not run successfully.
β exit code: 1
β°β> [38 lines of output]
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-armv7l-3.10
creating build/lib.linux-armv7l-3.10/cffi
copying src/cffi/verifier.py -> build/lib.linux-armv7l-3.10/cffi
copying src/cffi/vengine_gen.py -> build/lib.linux-armv7l-3.10/cffi
copying src/cffi/vengine_cpy.py -> build/lib.linux-armv7l-3.10/cffi
copying src/cffi/setuptools_ext.py -> build/lib.linux-armv7l-3.10/cffi
copying src/cffi/recompiler.py -> build/lib.linux-armv7l-3.10/cffi
copying src/cffi/pkgconfig.py -> build/lib.linux-armv7l-3.10/cffi
copying src/cffi/model.py -> build/lib.linux-armv7l-3.10/cffi
copying src/cffi/lock.py -> build/lib.linux-armv7l-3.10/cffi
copying src/cffi/ffiplatform.py -> build/lib.linux-armv7l-3.10/cffi
copying src/cffi/error.py -> build/lib.linux-armv7l-3.10/cffi
copying src/cffi/cparser.py -> build/lib.linux-armv7l-3.10/cffi
copying src/cffi/commontypes.py -> build/lib.linux-armv7l-3.10/cffi
copying src/cffi/cffi_opcode.py -> build/lib.linux-armv7l-3.10/cffi
copying src/cffi/backend_ctypes.py -> build/lib.linux-armv7l-3.10/cffi
copying src/cffi/api.py -> build/lib.linux-armv7l-3.10/cffi
copying src/cffi/_shimmed_dist_utils.py -> build/lib.linux-armv7l-3.10/cffi
copying src/cffi/_imp_emulation.py -> build/lib.linux-armv7l-3.10/cffi
copying src/cffi/__init__.py -> build/lib.linux-armv7l-3.10/cffi
copying src/cffi/_cffi_include.h -> build/lib.linux-armv7l-3.10/cffi
copying src/cffi/parse_c_type.h -> build/lib.linux-armv7l-3.10/cffi
copying src/cffi/_embedding.h -> build/lib.linux-armv7l-3.10/cffi
copying src/cffi/_cffi_errors.h -> build/lib.linux-armv7l-3.10/cffi
running build_ext
creating build/temp.linux-armv7l-3.10
creating build/temp.linux-armv7l-3.10/src
creating build/temp.linux-armv7l-3.10/src/c
arm-linux-gnueabihf-gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -DFFI_BUILDING=1 -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/usr/include/ffi -I/usr/include/libffi -I/usr/include/python3.10 -c src/c/_cffi_backend.c -o build/temp.linux-armv7l-3.10/src/c/_cffi_backend.o
src/c/_cffi_backend.c:2:10: fatal error: Python.h: No such file or directory
2 | #include <Python.h>
| ^~~~~~~~~~
compilation terminated.
error: command '/usr/bin/arm-linux-gnueabihf-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 cffi
Failed to build cffi
ERROR: Could not build wheels for cffi, which is required to install pyproject.toml-based projects
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error
Γ pip subprocess to install build dependencies did not run successfully.
β exit code: 1
β°β> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
octo@Octoprint:~/Octoprint$