markwal / OctoPrint-PolarCloud

OctoPrint plugin that connects OctoPrint to the Polar3D cloud. You easily monitor your printer from outside your LAN without arcane setup of port forwarding, etc. Plus, take advantage of the rapidly evolving Polar Cloud capabilities and UI.
GNU Affero General Public License v3.0
15 stars 8 forks source link

"Failed to build cryptography" - Requires rust? #62

Open vmorrisPolar opened 2 years ago

vmorrisPolar commented 2 years ago

Trying to install Polar Cloud plugin on a fresh install of Octopi 1.7.2 resulted in the following:

=============================DEBUG ASSISTANCE============================= error: can't find Rust compiler If you are using an outdated pip version, it is possible a prebuilt wheel is available for this package but pip is not able to install from it. Installing from the wheel would avoid the need for a Rust compiler. To update pip, run: pip install --upgrade pip and then retry package installation. If you did intend to build this package from source, try installing a Rust compiler from your system package manager and ensure it is on the PATH during installation. Alternatively, rustup (available at https://rustup.rs) is the recommended way to download and update the Rust compiler toolchain. This package requires Rust >=1.41.0.

ERROR: Failed building wheel for cryptography ERROR: Could not build wheels for cryptography which use PEP 517 and cannot be installed directly Error! Could not parse output from pip, see plugin_pluginmanager_console.log for generated output

vmorrisPolar commented 2 years ago

image

vmorrisPolar commented 2 years ago

Issue didn't present itself when plugin was installed from command line using pip

markwal commented 2 years ago

This plugin requires pyOpenSSL and uses it to both generate certificates as well as to encrypt communication to the service. It currently requires it without version in order to consume the latest that presumably has the most security flaws fixed. The risk, of course, is that the pyOpenSSL or one of its dependencies can break us.

What broke? In this case, one of its dependencies, cryptography, has taken a dependency on a compiler, rustc, that isn't included in the pi image. This happened some time ago (a year or so?), but pops up and breaks install from time to time.

Why doesn't it break us all the time? Currently, someone is maintaining a binary wheel that includes those needed for the raspberry pi. As long as a wheel is available for the platform you are running on, pip uses that instead of building it itself. So... if the binary wheel maintainer has built and uploaded the current version of cryptography, then installing the plugin will download that and will skip building cryptography itself. If not, then when it tries to build it, it will discover that there isn't a rust compiler installed.

So if you wait a day or so after failing to install, it may just work again when that wheel becomes available.

How do we keep it from breaking for a day or two everytime cryptography updates? Ah, this is the trick. Some possibilities:

vmorrisPolar commented 2 years ago

Hey Mark. I talked a little with Bill Steele (@wjsteele) about this. His 0.02 was that it might make sense to implement multiple solutions.. so at least 2 out of 3 of the possibilities you mention.

If you are too busy to do the work, we have a few members that can chip in, just need to figure out what makes the most sense (now and moving forward). Would appreciate your counsel. Whatever you recommend.

I don't have a full grasp on what all this issue can affect - i.e. octopi installs only via plugin manager, builds from scratch on top of raspbian, or more.

markwal commented 2 years ago

It should affect all installs of the plugin, from the command line, plugin manager, etc. The difference between success and failure is really just how long its been since a new release of the cryptography package. And it may be more likely to fail on a pi since the PC wheels may be released more quickly.

markwal commented 2 years ago

I'll see if I can code something up here in a bit.

vmorrisPolar commented 2 years ago

@markwal is this the same issue? A different school reported this recently.

Installing plugin "Polar Cloud" from https://github.com/markwal/OctoPrint-PolarCloud/archive/master.zip...
/usr/local/bin/python -m pip --disable-pip-version-check install [file:///tmp/tmpdb0ylogz/OctoPrint-PolarCloud-master.zip]() --no-cache-dir
Processing /tmp/tmpdb0ylogz/OctoPrint-PolarCloud-master.zip
Requirement already satisfied: OctoPrint in /usr/local/lib/python3.8/site-packages (from OctoPrint-PolarCloud==1.15) (1.7.3)
Collecting Pillow
Downloading Pillow-9.0.1.tar.gz (49.5 MB)
Collecting SocketIO-client
Downloading socketIO-client-0.7.2.tar.gz (23 kB)
Collecting pyopenssl
Downloading pyOpenSSL-22.0.0-py2.py3-none-any.whl (55 kB)
Requirement already satisfied: unidecode in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (1.3.2)
Requirement already satisfied: semantic-version<3,>=2.8.5 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (2.8.5)
Requirement already satisfied: emoji<2,>=1.4.2 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (1.6.3)
Requirement already satisfied: markdown<3.2,>=3.1 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (3.1.1)
Requirement already satisfied: pkginfo<2,>=1.7.1 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (1.8.2)
Requirement already satisfied: regex in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (2022.1.18)
Requirement already satisfied: psutil<6,>=5.8 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (5.9.0)
Requirement already satisfied: requests<3,>=2.26.0 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (2.27.1)
Requirement already satisfied: Jinja2<3,>=2.11.3 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (2.11.3)
Requirement already satisfied: tornado<7,>=6 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (6.1)
Requirement already satisfied: future<1,>=0.18.2 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (0.18.2)
Requirement already satisfied: pyserial<4,>=3.4 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (3.5)
Requirement already satisfied: websocket-client<1,>=0.59 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (0.59.0)
Requirement already satisfied: netifaces<1,>=0.11 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (0.11.0)
Requirement already satisfied: flask<2,>=1.1.4 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (1.1.4)
Requirement already satisfied: wrapt<1.13,>=1.12.1 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (1.12.1)
Requirement already satisfied: cachelib<0.2,>=0.1 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (0.1.1)
Requirement already satisfied: pylru<2,>=1.2 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (1.2.0)
Requirement already satisfied: netaddr<0.9,>=0.8 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (0.8.0)
Requirement already satisfied: werkzeug<2,>=1.0.1 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (1.0.1)
Requirement already satisfied: OctoPrint-FirmwareCheck>=2021.10.11 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (2021.10.11)
Requirement already satisfied: OctoPrint-FileCheck>=2021.2.23 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (2021.2.23)
Requirement already satisfied: Flask-Babel<2,>=1.0 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (1.0.0)
Requirement already satisfied: zipstream-new<1.2,>=1.1.8 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (1.1.8)
Requirement already satisfied: zeroconf<0.34,>=0.33 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (0.33.4)
Requirement already satisfied: colorlog<6,>=5.0.1 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (5.0.1)
Requirement already satisfied: itsdangerous<2,>=1.1.0 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (1.1.0)
Requirement already satisfied: Flask-Login<0.6,>=0.5 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (0.5.0)
Requirement already satisfied: Flask-Assets<3,>=2.0 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (2.0)
Requirement already satisfied: Click<8,>=7.1.2 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (7.1.2)
Requirement already satisfied: sarge==0.1.6 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (0.1.6)
Requirement already satisfied: immutabledict<3,>=2.1 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (2.2.1)
Requirement already satisfied: feedparser<7,>=6.0.8 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (6.0.8)
Requirement already satisfied: blinker<2,>=1.4 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (1.4)
Requirement already satisfied: OctoPrint-PiSupport>=2021.10.28 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (2021.10.28)
Requirement already satisfied: markupsafe<2.0,>=1.1 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (1.1.1)
Requirement already satisfied: watchdog==0.10.4 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (0.10.4)
Requirement already satisfied: filetype<2,>=1.0.7 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (1.0.9)
Requirement already satisfied: pathvalidate<3,>=2.4.1 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (2.5.0)
Requirement already satisfied: PyYAML<6,>=5.4.1 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (5.4.1)
Requirement already satisfied: sentry-sdk<2,>=1.3.1 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (1.5.2)
Requirement already satisfied: pathtools>=0.1.1 in /usr/local/lib/python3.8/site-packages (from watchdog==0.10.4->OctoPrint->OctoPrint-PolarCloud==1.15) (0.1.2)
Requirement already satisfied: sgmllib3k in /usr/local/lib/python3.8/site-packages (from feedparser<7,>=6.0.8->OctoPrint->OctoPrint-PolarCloud==1.15) (1.0.0)
Requirement already satisfied: webassets>=2.0 in /usr/local/lib/python3.8/site-packages (from Flask-Assets<3,>=2.0->OctoPrint->OctoPrint-PolarCloud==1.15) (2.0)
Requirement already satisfied: pytz in /usr/local/lib/python3.8/site-packages (from Flask-Babel<2,>=1.0->OctoPrint->OctoPrint-PolarCloud==1.15) (2021.3)
Requirement already satisfied: Babel>=2.3 in /usr/local/lib/python3.8/site-packages (from Flask-Babel<2,>=1.0->OctoPrint->OctoPrint-PolarCloud==1.15) (2.9.1)
Requirement already satisfied: setuptools>=36 in /usr/local/lib/python3.8/site-packages (from markdown<3.2,>=3.1->OctoPrint->OctoPrint-PolarCloud==1.15) (57.5.0)
Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.8/site-packages (from requests<3,>=2.26.0->OctoPrint->OctoPrint-PolarCloud==1.15) (3.3)
Requirement already satisfied: charset-normalizer~=2.0.0 in /usr/local/lib/python3.8/site-packages (from requests<3,>=2.26.0->OctoPrint->OctoPrint-PolarCloud==1.15) (2.0.10)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.8/site-packages (from requests<3,>=2.26.0->OctoPrint->OctoPrint-PolarCloud==1.15) (1.26.8)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.8/site-packages (from requests<3,>=2.26.0->OctoPrint->OctoPrint-PolarCloud==1.15) (2021.10.8)
Requirement already satisfied: six in /usr/local/lib/python3.8/site-packages (from websocket-client<1,>=0.59->OctoPrint->OctoPrint-PolarCloud==1.15) (1.16.0)
Requirement already satisfied: ifaddr>=0.1.7 in /usr/local/lib/python3.8/site-packages (from zeroconf<0.34,>=0.33->OctoPrint->OctoPrint-PolarCloud==1.15) (0.1.7)
Collecting cryptography>=35.0
Downloading cryptography-36.0.1.tar.gz (572 kB)
Installing build dependencies: started
Installing build dependencies: still running...
ERROR: Command errored out with exit status 1:
command: /usr/local/bin/python /tmp/pip-standalone-pip-3ul_srju/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-suev813c/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- 'setuptools>=40.6.0' wheel 'cffi>=1.12; platform_python_implementation != '"'"'PyPy'"'"'' 'setuptools-rust>=0.11.4'
cwd: None
Complete output (108 lines):
Collecting setuptools>=40.6.0
Using cached setuptools-60.9.3-py3-none-any.whl (1.1 MB)
Collecting wheel
Using cached wheel-0.37.1-py2.py3-none-any.whl (35 kB)
Collecting cffi>=1.12
Using cached cffi-1.15.0.tar.gz (484 kB)
Collecting setuptools-rust>=0.11.4
Using cached setuptools_rust-1.1.2-py3-none-any.whl (21 kB)
Collecting pycparser
Using cached pycparser-2.21-py2.py3-none-any.whl (118 kB)
Collecting semantic-version<3,>=2.8.2
Using cached semantic_version-2.9.0-py2.py3-none-any.whl (15 kB)
Collecting typing-extensions>=3.7.4.3
Using cached typing_extensions-4.1.1-py3-none-any.whl (26 kB)
Building wheels for collected packages: cffi
Building wheel for cffi (setup.py): started
Building wheel for cffi (setup.py): finished with status 'error'
ERROR: Command errored out with exit status 1:
command: /usr/local/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-nm0sdvtq/cffi_426c2345ab8c431697f49f54a7023789/setup.py'"'"'; __file__='"'"'/tmp/pip-install-nm0sdvtq/cffi_426c2345ab8c431697f49f54a7023789/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-x3ba_6v3
cwd: /tmp/pip-install-nm0sdvtq/cffi_426c2345ab8c431697f49f54a7023789/
Complete output (36 lines):
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-armv7l-3.8
creating build/lib.linux-armv7l-3.8/cffi
copying cffi/setuptools_ext.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/lock.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/vengine_gen.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/backend_ctypes.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/error.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/model.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/__init__.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/ffiplatform.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/api.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/cparser.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/vengine_cpy.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/cffi_opcode.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/commontypes.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/verifier.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/pkgconfig.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/recompiler.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/_cffi_include.h -> build/lib.linux-armv7l-3.8/cffi
copying cffi/parse_c_type.h -> build/lib.linux-armv7l-3.8/cffi
copying cffi/_embedding.h -> build/lib.linux-armv7l-3.8/cffi
copying cffi/_cffi_errors.h -> build/lib.linux-armv7l-3.8/cffi
running build_ext
building '_cffi_backend' extension
creating build/temp.linux-armv7l-3.8
creating build/temp.linux-armv7l-3.8/c
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/usr/include/ffi -I/usr/include/libffi -I/usr/local/include/python3.8 -c c/_cffi_backend.c -o build/temp.linux-armv7l-3.8/c/_cffi_backend.o
c/_cffi_backend.c:15:10: fatal error: ffi.h: No such file or directory
#include <ffi.h>
^~~~~~~
compilation terminated.
error: command 'gcc' failed with exit status 1
----------------------------------------
ERROR: Failed building wheel for cffi
Running setup.py clean for cffi
Failed to build cffi
Installing collected packages: typing-extensions, setuptools, semantic-version, pycparser, wheel, setuptools-rust, cffi
Running setup.py install for cffi: started
Running setup.py install for cffi: finished with status 'error'
ERROR: Command errored out with exit status 1:
command: /usr/local/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-nm0sdvtq/cffi_426c2345ab8c431697f49f54a7023789/setup.py'"'"'; __file__='"'"'/tmp/pip-install-nm0sdvtq/cffi_426c2345ab8c431697f49f54a7023789/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-dxmdrvae/install-record.txt --single-version-externally-managed --prefix /tmp/pip-build-env-suev813c/overlay --compile --install-headers /tmp/pip-build-env-suev813c/overlay/include/python3.8/cffi
cwd: /tmp/pip-install-nm0sdvtq/cffi_426c2345ab8c431697f49f54a7023789/
Complete output (36 lines):
running install
running build
running build_py
creating build
creating build/lib.linux-armv7l-3.8
creating build/lib.linux-armv7l-3.8/cffi
copying cffi/setuptools_ext.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/lock.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/vengine_gen.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/backend_ctypes.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/error.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/model.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/__init__.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/ffiplatform.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/api.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/cparser.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/vengine_cpy.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/cffi_opcode.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/commontypes.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/verifier.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/pkgconfig.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/recompiler.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/_cffi_include.h -> build/lib.linux-armv7l-3.8/cffi
copying cffi/parse_c_type.h -> build/lib.linux-armv7l-3.8/cffi
copying cffi/_embedding.h -> build/lib.linux-armv7l-3.8/cffi
copying cffi/_cffi_errors.h -> build/lib.linux-armv7l-3.8/cffi
running build_ext
building '_cffi_backend' extension
creating build/temp.linux-armv7l-3.8
creating build/temp.linux-armv7l-3.8/c
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/usr/include/ffi -I/usr/include/libffi -I/usr/local/include/python3.8 -c c/_cffi_backend.c -o build/temp.linux-armv7l-3.8/c/_cffi_backend.o
c/_cffi_backend.c:15:10: fatal error: ffi.h: No such file or directory
#include <ffi.h>
^~~~~~~
compilation terminated.
error: command 'gcc' failed with exit status 1
----------------------------------------
ERROR: Command errored out with exit status 1: /usr/local/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-nm0sdvtq/cffi_426c2345ab8c431697f49f54a7023789/setup.py'"'"'; __file__='"'"'/tmp/pip-install-nm0sdvtq/cffi_426c2345ab8c431697f49f54a7023789/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-dxmdrvae/install-record.txt --single-version-externally-managed --prefix /tmp/pip-build-env-suev813c/overlay --compile --install-headers /tmp/pip-build-env-suev813c/overlay/include/python3.8/cffi Check the logs for full command output.
WARNING: You are using pip version 21.2.4; however, version 22.0.3 is available.
You should consider upgrading via the '/usr/local/bin/python -m pip install --upgrade pip' command.
----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/f9/4b/1cf8e281f7ae4046a59e5e39dd7471d46db9f61bb564fddbff9084c4334f/cryptography-36.0.1.tar.gz#sha256=53e5c1dc3d7a953de055d77bef2ff607ceef7a2aac0353b5d630ab67f7423638 (from https://pypi.org/simple/cryptography/) (requires-python:>=3.6). Command errored out with exit status 1: /usr/local/bin/python /tmp/pip-standalone-pip-3ul_srju/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-suev813c/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- 'setuptools>=40.6.0' wheel 'cffi>=1.12; platform_python_implementation != '"'"'PyPy'"'"'' 'setuptools-rust>=0.11.4' Check the logs for full command output.
Installing build dependencies: finished with status 'error'
Downloading cryptography-36.0.0.tar.gz (571 kB)
Installing build dependencies: started
Installing build dependencies: still running...
ERROR: Command errored out with exit status 1:
command: /usr/local/bin/python /tmp/pip-standalone-pip-uekgywb3/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-ulrdst_q/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- 'setuptools>=40.6.0' wheel 'cffi>=1.12; platform_python_implementation != '"'"'PyPy'"'"'' 'setuptools-rust>=0.11.4'
cwd: None
Complete output (108 lines):
Collecting setuptools>=40.6.0
Using cached setuptools-60.9.3-py3-none-any.whl (1.1 MB)
Collecting wheel
Using cached wheel-0.37.1-py2.py3-none-any.whl (35 kB)
Collecting cffi>=1.12
Using cached cffi-1.15.0.tar.gz (484 kB)
Collecting setuptools-rust>=0.11.4
Using cached setuptools_rust-1.1.2-py3-none-any.whl (21 kB)
Collecting pycparser
Using cached pycparser-2.21-py2.py3-none-any.whl (118 kB)
Collecting typing-extensions>=3.7.4.3
Using cached typing_extensions-4.1.1-py3-none-any.whl (26 kB)
Collecting semantic-version<3,>=2.8.2
Using cached semantic_version-2.9.0-py2.py3-none-any.whl (15 kB)
Building wheels for collected packages: cffi
Building wheel for cffi (setup.py): started
Building wheel for cffi (setup.py): finished with status 'error'
ERROR: Command errored out with exit status 1:
command: /usr/local/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-4u94hr4n/cffi_aea1245386dc40669780f3697f8ab42d/setup.py'"'"'; __file__='"'"'/tmp/pip-install-4u94hr4n/cffi_aea1245386dc40669780f3697f8ab42d/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-j1ro87_g
cwd: /tmp/pip-install-4u94hr4n/cffi_aea1245386dc40669780f3697f8ab42d/
Complete output (36 lines):
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-armv7l-3.8
creating build/lib.linux-armv7l-3.8/cffi
copying cffi/setuptools_ext.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/lock.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/vengine_gen.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/backend_ctypes.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/error.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/model.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/__init__.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/ffiplatform.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/api.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/cparser.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/vengine_cpy.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/cffi_opcode.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/commontypes.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/verifier.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/pkgconfig.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/recompiler.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/_cffi_include.h -> build/lib.linux-armv7l-3.8/cffi
copying cffi/parse_c_type.h -> build/lib.linux-armv7l-3.8/cffi
copying cffi/_embedding.h -> build/lib.linux-armv7l-3.8/cffi
copying cffi/_cffi_errors.h -> build/lib.linux-armv7l-3.8/cffi
running build_ext
building '_cffi_backend' extension
creating build/temp.linux-armv7l-3.8
creating build/temp.linux-armv7l-3.8/c
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/usr/include/ffi -I/usr/include/libffi -I/usr/local/include/python3.8 -c c/_cffi_backend.c -o build/temp.linux-armv7l-3.8/c/_cffi_backend.o
c/_cffi_backend.c:15:10: fatal error: ffi.h: No such file or directory
#include <ffi.h>
^~~~~~~
compilation terminated.
error: command 'gcc' failed with exit status 1
----------------------------------------
ERROR: Failed building wheel for cffi
Running setup.py clean for cffi
Failed to build cffi
Installing collected packages: typing-extensions, setuptools, semantic-version, pycparser, wheel, setuptools-rust, cffi
Running setup.py install for cffi: started
Running setup.py install for cffi: finished with status 'error'
ERROR: Command errored out with exit status 1:
command: /usr/local/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-4u94hr4n/cffi_aea1245386dc40669780f3697f8ab42d/setup.py'"'"'; __file__='"'"'/tmp/pip-install-4u94hr4n/cffi_aea1245386dc40669780f3697f8ab42d/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-2ggup2sv/install-record.txt --single-version-externally-managed --prefix /tmp/pip-build-env-ulrdst_q/overlay --compile --install-headers /tmp/pip-build-env-ulrdst_q/overlay/include/python3.8/cffi
cwd: /tmp/pip-install-4u94hr4n/cffi_aea1245386dc40669780f3697f8ab42d/
Complete output (36 lines):
running install
running build
running build_py
creating build
creating build/lib.linux-armv7l-3.8
creating build/lib.linux-armv7l-3.8/cffi
copying cffi/setuptools_ext.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/lock.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/vengine_gen.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/backend_ctypes.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/error.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/model.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/__init__.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/ffiplatform.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/api.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/cparser.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/vengine_cpy.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/cffi_opcode.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/commontypes.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/verifier.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/pkgconfig.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/recompiler.py -> build/lib.linux-armv7l-3.8/cffi
copying cffi/_cffi_include.h -> build/lib.linux-armv7l-3.8/cffi
copying cffi/parse_c_type.h -> build/lib.linux-armv7l-3.8/cffi
copying cffi/_embedding.h -> build/lib.linux-armv7l-3.8/cffi
copying cffi/_cffi_errors.h -> build/lib.linux-armv7l-3.8/cffi
running build_ext
building '_cffi_backend' extension
creating build/temp.linux-armv7l-3.8
creating build/temp.linux-armv7l-3.8/c
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/usr/include/ffi -I/usr/include/libffi -I/usr/local/include/python3.8 -c c/_cffi_backend.c -o build/temp.linux-armv7l-3.8/c/_cffi_backend.o
c/_cffi_backend.c:15:10: fatal error: ffi.h: No such file or directory
#include <ffi.h>
^~~~~~~
compilation terminated.
error: command 'gcc' failed with exit status 1
----------------------------------------
ERROR: Command errored out with exit status 1: /usr/local/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-4u94hr4n/cffi_aea1245386dc40669780f3697f8ab42d/setup.py'"'"'; __file__='"'"'/tmp/pip-install-4u94hr4n/cffi_aea1245386dc40669780f3697f8ab42d/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-2ggup2sv/install-record.txt --single-version-externally-managed --prefix /tmp/pip-build-env-ulrdst_q/overlay --compile --install-headers /tmp/pip-build-env-ulrdst_q/overlay/include/python3.8/cffi Check the logs for full command output.
WARNING: You are using pip version 21.2.4; however, version 22.0.3 is available.
You should consider upgrading via the '/usr/local/bin/python -m pip install --upgrade pip' command.
----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/60/06/d9109aba62c0b42466195e5b9b30dded26621a675b73998218070d8cc637/cryptography-36.0.0.tar.gz#sha256=52f769ecb4ef39865719aedc67b4b7eae167bafa48dbc2a26dd36fa56460507f (from https://pypi.org/simple/cryptography/) (requires-python:>=3.6). Command errored out with exit status 1: /usr/local/bin/python /tmp/pip-standalone-pip-uekgywb3/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-ulrdst_q/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- 'setuptools>=40.6.0' wheel 'cffi>=1.12; platform_python_implementation != '"'"'PyPy'"'"'' 'setuptools-rust>=0.11.4' Check the logs for full command output.
Installing build dependencies: finished with status 'error'
Downloading cryptography-35.0.0.tar.gz (559 kB)
Installing build dependencies: started
Installing build dependencies: still running...
Installing build dependencies: finished with status 'error'
Collecting pyopenssl
Downloading pyOpenSSL-21.0.0-py2.py3-none-any.whl (55 kB)
ERROR: Command errored out with exit status 1:
command: /usr/local/bin/python /tmp/pip-standalone-pip-cu6g4hby/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-xqte31cj/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- 'setuptools>=40.6.0' wheel 'cffi>=1.12; platform_python_implementation != '"'"'PyPy'"'"'' 'setuptools-rust>=0.11.4'
cwd: None
Complete output (108 lines):
Collecting setuptools>=40.6.0
Using cached setuptools-60.9.3-py3-none-any.whl (1.1 MB)
Collecting wheel
Using cached wheel-0.37.1-py2.py3-none-any.whl (35 kB)
Collecting cffi&gt
markwal commented 2 years ago

Yes. Sorta. Though for one of the cryptography'dependencies instead. cffi

One way we could workaround these issues would be to provide our own Octopi image like the fellow you put me into contact with does.

Main drawbacks being youd need somebody to monitor the thing (it ops) it'd probably cost a few monthly bucks in egress to host a file that large.

Sent from Surface Duo


From: vmorrisPolar @.> Sent: Friday, February 25, 2022 7:41:24 AM To: markwal/OctoPrint-PolarCloud @.> Cc: Mark Walker @.>; Mention @.> Subject: Re: [markwal/OctoPrint-PolarCloud] "Failed to build cryptography" - Requires rust? (Issue #62)

@markwalhttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmarkwal&data=04%7C01%7C%7C70f34a6a675b4d8a8ebe08d9f875486f%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637814004898515502%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=2%2BEJ3xcHHJimvCM914LmpgYjy%2BFFBLikG9cRE5WlCak%3D&reserved=0 is this the same issue? A different school reported this recently.

`Installing plugin "Polar Cloud" from https://github.com/markwal/OctoPrint-PolarCloud/archive/master.ziphttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmarkwal%2FOctoPrint-PolarCloud%2Farchive%2Fmaster.zip&data=04%7C01%7C%7C70f34a6a675b4d8a8ebe08d9f875486f%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637814004898515502%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=H8zKMg53TrpqHx0eTTZNL9BwF5lscMvPaKCbTuP2C4A%3D&reserved=0... /usr/local/bin/python -m pip --disable-pip-version-check install file:///tmp/tmpdb0ylogz/OctoPrint-PolarCloud-master.zip --no-cache-dir Processing /tmp/tmpdb0ylogz/OctoPrint-PolarCloud-master.zip Requirement already satisfied: OctoPrint in /usr/local/lib/python3.8/site-packages (from OctoPrint-PolarCloud==1.15) (1.7.3) Collecting Pillow Downloading Pillow-9.0.1.tar.gz (49.5 MB) Collecting SocketIO-client Downloading socketIO-client-0.7.2.tar.gz (23 kB) Collecting pyopenssl Downloading pyOpenSSL-22.0.0-py2.py3-none-any.whl (55 kB) Requirement already satisfied: unidecode in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (1.3.2) Requirement already satisfied: semantic-version<3,>=2.8.5 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (2.8.5) Requirement already satisfied: emoji<2,>=1.4.2 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (1.6.3) Requirement already satisfied: markdown<3.2,>=3.1 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (3.1.1) Requirement already satisfied: pkginfo<2,>=1.7.1 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (1.8.2) Requirement already satisfied: regex in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (2022.1.18) Requirement already satisfied: psutil<6,>=5.8 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (5.9.0) Requirement already satisfied: requests<3,>=2.26.0 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (2.27.1) Requirement already satisfied: Jinja2<3,>=2.11.3 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (2.11.3) Requirement already satisfied: tornado<7,>=6 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (6.1) Requirement already satisfied: future<1,>=0.18.2 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (0.18.2) Requirement already satisfied: pyserial<4,>=3.4 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (3.5) Requirement already satisfied: websocket-client<1,>=0.59 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (0.59.0) Requirement already satisfied: netifaces<1,>=0.11 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (0.11.0) Requirement already satisfied: flask<2,>=1.1.4 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (1.1.4) Requirement already satisfied: wrapt<1.13,>=1.12.1 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (1.12.1) Requirement already satisfied: cachelib<0.2,>=0.1 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (0.1.1) Requirement already satisfied: pylru<2,>=1.2 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (1.2.0) Requirement already satisfied: netaddr<0.9,>=0.8 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (0.8.0) Requirement already satisfied: werkzeug<2,>=1.0.1 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (1.0.1) Requirement already satisfied: OctoPrint-FirmwareCheck>=2021.10.11 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (2021.10.11) Requirement already satisfied: OctoPrint-FileCheck>=2021.2.23 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (2021.2.23) Requirement already satisfied: Flask-Babel<2,>=1.0 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (1.0.0) Requirement already satisfied: zipstream-new<1.2,>=1.1.8 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (1.1.8) Requirement already satisfied: zeroconf<0.34,>=0.33 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (0.33.4) Requirement already satisfied: colorlog<6,>=5.0.1 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (5.0.1) Requirement already satisfied: itsdangerous<2,>=1.1.0 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (1.1.0) Requirement already satisfied: Flask-Login<0.6,>=0.5 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (0.5.0) Requirement already satisfied: Flask-Assets<3,>=2.0 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (2.0) Requirement already satisfied: Click<8,>=7.1.2 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (7.1.2) Requirement already satisfied: sarge==0.1.6 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (0.1.6) Requirement already satisfied: immutabledict<3,>=2.1 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (2.2.1) Requirement already satisfied: feedparser<7,>=6.0.8 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (6.0.8) Requirement already satisfied: blinker<2,>=1.4 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (1.4) Requirement already satisfied: OctoPrint-PiSupport>=2021.10.28 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (2021.10.28) Requirement already satisfied: markupsafe<2.0,>=1.1 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (1.1.1) Requirement already satisfied: watchdog==0.10.4 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (0.10.4) Requirement already satisfied: filetype<2,>=1.0.7 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (1.0.9) Requirement already satisfied: pathvalidate<3,>=2.4.1 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (2.5.0) Requirement already satisfied: PyYAML<6,>=5.4.1 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (5.4.1) Requirement already satisfied: sentry-sdk<2,>=1.3.1 in /usr/local/lib/python3.8/site-packages (from OctoPrint->OctoPrint-PolarCloud==1.15) (1.5.2) Requirement already satisfied: pathtools>=0.1.1 in /usr/local/lib/python3.8/site-packages (from watchdog==0.10.4->OctoPrint->OctoPrint-PolarCloud==1.15) (0.1.2) Requirement already satisfied: sgmllib3k in /usr/local/lib/python3.8/site-packages (from feedparser<7,>=6.0.8->OctoPrint->OctoPrint-PolarCloud==1.15) (1.0.0) Requirement already satisfied: webassets>=2.0 in /usr/local/lib/python3.8/site-packages (from Flask-Assets<3,>=2.0->OctoPrint->OctoPrint-PolarCloud==1.15) (2.0) Requirement already satisfied: pytz in /usr/local/lib/python3.8/site-packages (from Flask-Babel<2,>=1.0->OctoPrint->OctoPrint-PolarCloud==1.15) (2021.3) Requirement already satisfied: Babel>=2.3 in /usr/local/lib/python3.8/site-packages (from Flask-Babel<2,>=1.0->OctoPrint->OctoPrint-PolarCloud==1.15) (2.9.1) Requirement already satisfied: setuptools>=36 in /usr/local/lib/python3.8/site-packages (from markdown<3.2,>=3.1->OctoPrint->OctoPrint-PolarCloud==1.15) (57.5.0) Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.8/site-packages (from requests<3,>=2.26.0->OctoPrint->OctoPrint-PolarCloud==1.15) (3.3) Requirement already satisfied: charset-normalizer~=2.0.0 in /usr/local/lib/python3.8/site-packages (from requests<3,>=2.26.0->OctoPrint->OctoPrint-PolarCloud==1.15) (2.0.10) Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.8/site-packages (from requests<3,>=2.26.0->OctoPrint->OctoPrint-PolarCloud==1.15) (1.26.8) Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.8/site-packages (from requests<3,>=2.26.0->OctoPrint->OctoPrint-PolarCloud==1.15) (2021.10.8) Requirement already satisfied: six in /usr/local/lib/python3.8/site-packages (from websocket-client<1,>=0.59->OctoPrint->OctoPrint-PolarCloud==1.15) (1.16.0) Requirement already satisfied: ifaddr>=0.1.7 in /usr/local/lib/python3.8/site-packages (from zeroconf<0.34,>=0.33->OctoPrint->OctoPrint-PolarCloud==1.15) (0.1.7) Collecting cryptography>=35.0 Downloading cryptography-36.0.1.tar.gz (572 kB) Installing build dependencies: started Installing build dependencies: still running... ERROR: Command errored out with exit status 1: command: /usr/local/bin/python /tmp/pip-standalone-pip-3ul_srju/env_pip.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-suev813c/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simplehttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpypi.org%2Fsimple&data=04%7C01%7C%7C70f34a6a675b4d8a8ebe08d9f875486f%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637814004898515502%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=K2DQ6yk48DTpYFMj7QA51MFWoHVoJsXjgpchFrNFv%2BM%3D&reserved=0 -- 'setuptools>=40.6.0' wheel 'cffi>=1.12; platform_python_implementation != '"'"'PyPy'"'"'' 'setuptools-rust>=0.11.4' cwd: None Complete output (108 lines): Collecting setuptools>=40.6.0 Using cached setuptools-60.9.3-py3-none-any.whl (1.1 MB) Collecting wheel Using cached wheel-0.37.1-py2.py3-none-any.whl (35 kB) Collecting cffi>=1.12 Using cached cffi-1.15.0.tar.gz (484 kB) Collecting setuptools-rust>=0.11.4 Using cached setuptools_rust-1.1.2-py3-none-any.whl (21 kB) Collecting pycparser Using cached pycparser-2.21-py2.py3-none-any.whl (118 kB) Collecting semantic-version<3,>=2.8.2 Using cached semantic_version-2.9.0-py2.py3-none-any.whl (15 kB) Collecting typing-extensions>=3.7.4.3 Using cached typing_extensions-4.1.1-py3-none-any.whl (26 kB) Building wheels for collected packages: cffi Building wheel for cffi (setup.py): started Building wheel for cffi (setup.py): finished with status 'error' ERROR: Command errored out with exit status 1: command: /usr/local/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-nm0sdvtq/cffi_426c2345ab8c431697f49f54a7023789/setup.py'"'"'; file='"'"'/tmp/pip-install-nm0sdvtq/cffi_426c2345ab8c431697f49f54a7023789/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(file) if os.path.exists(file) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-x3ba_6v3 cwd: /tmp/pip-install-nm0sdvtq/cffi_426c2345ab8c431697f49f54a7023789/ Complete output (36 lines): running bdist_wheel running build running build_py creating build creating build/lib.linux-armv7l-3.8 creating build/lib.linux-armv7l-3.8/cffi copying cffi/setuptools_ext.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/lock.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/vengine_gen.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/backend_ctypes.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/error.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/model.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/init.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/ffiplatform.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/api.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/cparser.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/vengine_cpy.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/cffi_opcode.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/commontypes.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/verifier.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/pkgconfig.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/recompiler.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/_cffi_include.h -> build/lib.linux-armv7l-3.8/cffi copying cffi/parse_c_type.h -> build/lib.linux-armv7l-3.8/cffi copying cffi/_embedding.h -> build/lib.linux-armv7l-3.8/cffi copying cffi/_cffi_errors.h -> build/lib.linux-armv7l-3.8/cffi running build_ext building '_cffi_backend' extension creating build/temp.linux-armv7l-3.8 creating build/temp.linux-armv7l-3.8/c gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/usr/include/ffi -I/usr/include/libffi -I/usr/local/include/python3.8 -c c/_cffi_backend.c -o build/temp.linux-armv7l-3.8/c/_cffi_backend.o c/_cffi_backend.c:15:10: fatal error: ffi.h: No such file or directory

include

^~~ compilation terminated. error: command 'gcc' failed with exit status 1 ERROR: Failed building wheel for cffi Running setup.py clean for cffi Failed to build cffi Installing collected packages: typing-extensions, setuptools, semantic-version, pycparser, wheel, setuptools-rust, cffi Running setup.py install for cffi: started Running setup.py install for cffi: finished with status 'error' ERROR: Command errored out with exit status 1: command: /usr/local/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-nm0sdvtq/cffi_426c2345ab8c431697f49f54a7023789/setup.py'"'"'; file='"'"'/tmp/pip-install-nm0sdvtq/cffi_426c2345ab8c431697f49f54a7023789/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(file) if os.path.exists(file) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record /tmp/pip-record-dxmdrvae/install-record.txt --single-version-externally-managed --prefix /tmp/pip-build-env-suev813c/overlay --compile --install-headers /tmp/pip-build-env-suev813c/overlay/include/python3.8/cffi cwd: /tmp/pip-install-nm0sdvtq/cffi_426c2345ab8c431697f49f54a7023789/ Complete output (36 lines): running install running build running build_py creating build creating build/lib.linux-armv7l-3.8 creating build/lib.linux-armv7l-3.8/cffi copying cffi/setuptools_ext.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/lock.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/vengine_gen.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/backend_ctypes.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/error.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/model.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/init.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/ffiplatform.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/api.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/cparser.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/vengine_cpy.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/cffi_opcode.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/commontypes.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/verifier.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/pkgconfig.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/recompiler.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/_cffi_include.h -> build/lib.linux-armv7l-3.8/cffi copying cffi/parse_c_type.h -> build/lib.linux-armv7l-3.8/cffi copying cffi/_embedding.h -> build/lib.linux-armv7l-3.8/cffi copying cffi/_cffi_errors.h -> build/lib.linux-armv7l-3.8/cffi running build_ext building '_cffi_backend' extension creating build/temp.linux-armv7l-3.8 creating build/temp.linux-armv7l-3.8/c gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/usr/include/ffi -I/usr/include/libffi -I/usr/local/include/python3.8 -c c/_cffi_backend.c -o build/temp.linux-armv7l-3.8/c/_cffi_backend.o c/_cffi_backend.c:15:10: fatal error: ffi.h: No such file or directory

include

^~~ compilation terminated. error: command 'gcc' failed with exit status 1 ERROR: Command errored out with exit status 1: /usr/local/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-nm0sdvtq/cffi_426c2345ab8c431697f49f54a7023789/setup.py'"'"'; file='"'"'/tmp/pip-install-nm0sdvtq/cffi_426c2345ab8c431697f49f54a7023789/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(file) if os.path.exists(file) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record /tmp/pip-record-dxmdrvae/install-record.txt --single-version-externally-managed --prefix /tmp/pip-build-env-suev813c/overlay --compile --install-headers /tmp/pip-build-env-suev813c/overlay/include/python3.8/cffi Check the logs for full command output. WARNING: You are using pip version 21.2.4; however, version 22.0.3 is available. You should consider upgrading via the '/usr/local/bin/python -m pip install --upgrade pip' command. WARNING: Discarding https://files.pythonhosted.org/packages/f9/4b/1cf8e281f7ae4046a59e5e39dd7471d46db9f61bb564fddbff9084c4334f/cryptography-36.0.1.tar.gz#sha256=53e5c1dc3d7a953de055d77bef2ff607ceef7a2aac0353b5d630ab67f7423638https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Ffiles.pythonhosted.org%2Fpackages%2Ff9%2F4b%2F1cf8e281f7ae4046a59e5e39dd7471d46db9f61bb564fddbff9084c4334f%2Fcryptography-36.0.1.tar.gz%23sha256%3D53e5c1dc3d7a953de055d77bef2ff607ceef7a2aac0353b5d630ab67f7423638&data=04%7C01%7C%7C70f34a6a675b4d8a8ebe08d9f875486f%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637814004898515502%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=csfXr1Qfu1JD4QcWW7CZMKrB015%2BTemmIGlAn%2BLQd7U%3D&reserved=0 (from https://pypi.org/simple/cryptography/https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpypi.org%2Fsimple%2Fcryptography%2F&data=04%7C01%7C%7C70f34a6a675b4d8a8ebe08d9f875486f%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637814004898515502%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=a6H43SitQgaOUZBehSYis3Ton3LWz3e%2BK%2BS6c5lryLI%3D&reserved=0) (requires-python:>=3.6). Command errored out with exit status 1: /usr/local/bin/python /tmp/pip-standalone-pip-3ul_srju/env_pip.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-suev813c/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simplehttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpypi.org%2Fsimple&data=04%7C01%7C%7C70f34a6a675b4d8a8ebe08d9f875486f%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637814004898515502%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=K2DQ6yk48DTpYFMj7QA51MFWoHVoJsXjgpchFrNFv%2BM%3D&reserved=0 -- 'setuptools>=40.6.0' wheel 'cffi>=1.12; platform_python_implementation != '"'"'PyPy'"'"'' 'setuptools-rust>=0.11.4' Check the logs for full command output. Installing build dependencies: finished with status 'error' Downloading cryptography-36.0.0.tar.gz (571 kB) Installing build dependencies: started Installing build dependencies: still running... ERROR: Command errored out with exit status 1: command: /usr/local/bin/python /tmp/pip-standalone-pip-uekgywb3/env_pip.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-ulrdst_q/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simplehttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpypi.org%2Fsimple&data=04%7C01%7C%7C70f34a6a675b4d8a8ebe08d9f875486f%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637814004898515502%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=K2DQ6yk48DTpYFMj7QA51MFWoHVoJsXjgpchFrNFv%2BM%3D&reserved=0 -- 'setuptools>=40.6.0' wheel 'cffi>=1.12; platform_python_implementation != '"'"'PyPy'"'"'' 'setuptools-rust>=0.11.4' cwd: None Complete output (108 lines): Collecting setuptools>=40.6.0 Using cached setuptools-60.9.3-py3-none-any.whl (1.1 MB) Collecting wheel Using cached wheel-0.37.1-py2.py3-none-any.whl (35 kB) Collecting cffi>=1.12 Using cached cffi-1.15.0.tar.gz (484 kB) Collecting setuptools-rust>=0.11.4 Using cached setuptools_rust-1.1.2-py3-none-any.whl (21 kB) Collecting pycparser Using cached pycparser-2.21-py2.py3-none-any.whl (118 kB) Collecting typing-extensions>=3.7.4.3 Using cached typing_extensions-4.1.1-py3-none-any.whl (26 kB) Collecting semantic-version<3,>=2.8.2 Using cached semantic_version-2.9.0-py2.py3-none-any.whl (15 kB) Building wheels for collected packages: cffi Building wheel for cffi (setup.py): started Building wheel for cffi (setup.py): finished with status 'error' ERROR: Command errored out with exit status 1: command: /usr/local/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-4u94hr4n/cffi_aea1245386dc40669780f3697f8ab42d/setup.py'"'"'; file='"'"'/tmp/pip-install-4u94hr4n/cffi_aea1245386dc40669780f3697f8ab42d/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(file) if os.path.exists(file) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-j1ro87_g cwd: /tmp/pip-install-4u94hr4n/cffi_aea1245386dc40669780f3697f8ab42d/ Complete output (36 lines): running bdist_wheel running build running build_py creating build creating build/lib.linux-armv7l-3.8 creating build/lib.linux-armv7l-3.8/cffi copying cffi/setuptools_ext.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/lock.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/vengine_gen.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/backend_ctypes.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/error.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/model.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/init.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/ffiplatform.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/api.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/cparser.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/vengine_cpy.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/cffi_opcode.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/commontypes.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/verifier.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/pkgconfig.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/recompiler.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/_cffi_include.h -> build/lib.linux-armv7l-3.8/cffi copying cffi/parse_c_type.h -> build/lib.linux-armv7l-3.8/cffi copying cffi/_embedding.h -> build/lib.linux-armv7l-3.8/cffi copying cffi/_cffi_errors.h -> build/lib.linux-armv7l-3.8/cffi running build_ext building '_cffi_backend' extension creating build/temp.linux-armv7l-3.8 creating build/temp.linux-armv7l-3.8/c gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/usr/include/ffi -I/usr/include/libffi -I/usr/local/include/python3.8 -c c/_cffi_backend.c -o build/temp.linux-armv7l-3.8/c/_cffi_backend.o c/_cffi_backend.c:15:10: fatal error: ffi.h: No such file or directory

include

^~~ compilation terminated. error: command 'gcc' failed with exit status 1 ERROR: Failed building wheel for cffi Running setup.py clean for cffi Failed to build cffi Installing collected packages: typing-extensions, setuptools, semantic-version, pycparser, wheel, setuptools-rust, cffi Running setup.py install for cffi: started Running setup.py install for cffi: finished with status 'error' ERROR: Command errored out with exit status 1: command: /usr/local/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-4u94hr4n/cffi_aea1245386dc40669780f3697f8ab42d/setup.py'"'"'; file='"'"'/tmp/pip-install-4u94hr4n/cffi_aea1245386dc40669780f3697f8ab42d/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(file) if os.path.exists(file) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record /tmp/pip-record-2ggup2sv/install-record.txt --single-version-externally-managed --prefix /tmp/pip-build-env-ulrdst_q/overlay --compile --install-headers /tmp/pip-build-env-ulrdst_q/overlay/include/python3.8/cffi cwd: /tmp/pip-install-4u94hr4n/cffi_aea1245386dc40669780f3697f8ab42d/ Complete output (36 lines): running install running build running build_py creating build creating build/lib.linux-armv7l-3.8 creating build/lib.linux-armv7l-3.8/cffi copying cffi/setuptools_ext.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/lock.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/vengine_gen.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/backend_ctypes.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/error.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/model.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/init.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/ffiplatform.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/api.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/cparser.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/vengine_cpy.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/cffi_opcode.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/commontypes.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/verifier.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/pkgconfig.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/recompiler.py -> build/lib.linux-armv7l-3.8/cffi copying cffi/_cffi_include.h -> build/lib.linux-armv7l-3.8/cffi copying cffi/parse_c_type.h -> build/lib.linux-armv7l-3.8/cffi copying cffi/_embedding.h -> build/lib.linux-armv7l-3.8/cffi copying cffi/_cffi_errors.h -> build/lib.linux-armv7l-3.8/cffi running build_ext building '_cffi_backend' extension creating build/temp.linux-armv7l-3.8 creating build/temp.linux-armv7l-3.8/c gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/usr/include/ffi -I/usr/include/libffi -I/usr/local/include/python3.8 -c c/_cffi_backend.c -o build/temp.linux-armv7l-3.8/c/_cffi_backend.o c/_cffi_backend.c:15:10: fatal error: ffi.h: No such file or directory

include

^~~ compilation terminated. error: command 'gcc' failed with exit status 1 ERROR: Command errored out with exit status 1: /usr/local/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-4u94hr4n/cffi_aea1245386dc40669780f3697f8ab42d/setup.py'"'"'; file='"'"'/tmp/pip-install-4u94hr4n/cffi_aea1245386dc40669780f3697f8ab42d/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(file) if os.path.exists(file) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record /tmp/pip-record-2ggup2sv/install-record.txt --single-version-externally-managed --prefix /tmp/pip-build-env-ulrdst_q/overlay --compile --install-headers /tmp/pip-build-env-ulrdst_q/overlay/include/python3.8/cffi Check the logs for full command output. WARNING: You are using pip version 21.2.4; however, version 22.0.3 is available. You should consider upgrading via the '/usr/local/bin/python -m pip install --upgrade pip' command.

WARNING: Discarding https://files.pythonhosted.org/packages/60/06/d9109aba62c0b42466195e5b9b30dded26621a675b73998218070d8cc637/cryptography-36.0.0.tar.gz#sha256=52f769ecb4ef39865719aedc67b4b7eae167bafa48dbc2a26dd36fa56460507fhttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Ffiles.pythonhosted.org%2Fpackages%2F60%2F06%2Fd9109aba62c0b42466195e5b9b30dded26621a675b73998218070d8cc637%2Fcryptography-36.0.0.tar.gz%23sha256%3D52f769ecb4ef39865719aedc67b4b7eae167bafa48dbc2a26dd36fa56460507f&data=04%7C01%7C%7C70f34a6a675b4d8a8ebe08d9f875486f%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637814004898671727%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=M%2FeUaTwJK%2FHYz%2Ba6LUvDG8OR8jAnBBmbv5Lw2OKKZl8%3D&reserved=0 (from https://pypi.org/simple/cryptography/https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpypi.org%2Fsimple%2Fcryptography%2F&data=04%7C01%7C%7C70f34a6a675b4d8a8ebe08d9f875486f%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637814004898671727%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=LoOi%2Ff%2BzbN0lPLwXzna3TUFDvkfUS0j%2BoDtwErw0sk0%3D&reserved=0) (requires-python:>=3.6). Command errored out with exit status 1: /usr/local/bin/python /tmp/pip-standalone-pip-uekgywb3/env_pip.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-ulrdst_q/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simplehttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpypi.org%2Fsimple&data=04%7C01%7C%7C70f34a6a675b4d8a8ebe08d9f875486f%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637814004898671727%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=VRf%2FadPuGb0M9u3xnjtR9ll6TzjTD9tqYE9EL%2FpxA3A%3D&reserved=0 -- 'setuptools>=40.6.0' wheel 'cffi>=1.12; platform_python_implementation != '"'"'PyPy'"'"'' 'setuptools-rust>=0.11.4' Check the logs for full command output. Installing build dependencies: finished with status 'error' Downloading cryptography-35.0.0.tar.gz (559 kB) Installing build dependencies: started Installing build dependencies: still running... Installing build dependencies: finished with status 'error' Collecting pyopenssl Downloading pyOpenSSL-21.0.0-py2.py3-none-any.whl (55 kB) ERROR: Command errored out with exit status 1: command: /usr/local/bin/python /tmp/pip-standalone-pip-cu6g4hby/env_pip.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-xqte31cj/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simplehttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpypi.org%2Fsimple&data=04%7C01%7C%7C70f34a6a675b4d8a8ebe08d9f875486f%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637814004898671727%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=VRf%2FadPuGb0M9u3xnjtR9ll6TzjTD9tqYE9EL%2FpxA3A%3D&reserved=0 -- 'setuptools>=40.6.0' wheel 'cffi>=1.12; platform_python_implementation != '"'"'PyPy'"'"'' 'setuptools-rust>=0.11.4' cwd: None Complete output (108 lines): Collecting setuptools>=40.6.0 Using cached setuptools-60.9.3-py3-none-any.whl (1.1 MB) Collecting wheel Using cached wheel-0.37.1-py2.py3-none-any.whl (35 kB) Collecting cffi&gt`

— Reply to this email directly, view it on GitHubhttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmarkwal%2FOctoPrint-PolarCloud%2Fissues%2F62%23issuecomment-1050963163&data=04%7C01%7C%7C70f34a6a675b4d8a8ebe08d9f875486f%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637814004898671727%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=Sk8ZHR3zIpnGSmvZYtCP5OUwFyst3mu4e4KpdNnELwY%3D&reserved=0, or unsubscribehttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FACSICVMDKIQCVV4XS67BXT3U46PKJANCNFSM5IUVRBSQ&data=04%7C01%7C%7C70f34a6a675b4d8a8ebe08d9f875486f%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637814004898671727%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=vUTETbRAlf%2BI5hSgpi%2FvY6CuPm4KN03W6Q44ZvHhjz4%3D&reserved=0. Triage notifications on the go with GitHub Mobile for iOShttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapps.apple.com%2Fapp%2Fapple-store%2Fid1477376905%3Fct%3Dnotification-email%26mt%3D8%26pt%3D524675&data=04%7C01%7C%7C70f34a6a675b4d8a8ebe08d9f875486f%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637814004898671727%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=ebj0o1WXwwf9JD7AltfQZxViBokIx9%2BGnhp%2FM3KsubE%3D&reserved=0 or Androidhttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.github.android%26referrer%3Dutm_campaign%253Dnotification-email%2526utm_medium%253Demail%2526utm_source%253Dgithub&data=04%7C01%7C%7C70f34a6a675b4d8a8ebe08d9f875486f%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637814004898671727%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=sZgVxpQ7mJhQwP2sYFNmAbgsoBncutCDfMYxgZ125NQ%3D&reserved=0. You are receiving this because you were mentioned.Message ID: @.***>

vmorrisPolar commented 2 years ago

I don't have a problem hosting or doing that. I would just need to know the best way to do it and what all packages and dependencies we'd need.