Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
vmorrisPolar opened this issue Nov 23, 2021 · 9 comments
Open

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

vmorrisPolar opened this issue Nov 23, 2021 · 9 comments
Assignees

Comments

@vmorrisPolar
Copy link
Collaborator

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
Copy link
Collaborator Author

image

@vmorrisPolar
Copy link
Collaborator Author

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

@markwal
Copy link
Owner

markwal commented Nov 30, 2021

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:

  • We could pin the version of pyOpenSSL to last known working, but then we'll need to stay on top of every time it updates and update the plugin also.
  • We could write some code in setup.py that tries to discover the latest available cryptography wheel and then figure out what pyOpenSSL to ask for to pick that one up. Or maybe something dumber.
  • Or maybe there is some option that tells setup that you only want to consider wheels.

@vmorrisPolar
Copy link
Collaborator Author

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
Copy link
Owner

markwal commented Dec 15, 2021

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
Copy link
Owner

markwal commented Dec 15, 2021

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

@vmorrisPolar
Copy link
Collaborator Author

vmorrisPolar commented Feb 25, 2022

@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
Copy link
Owner

markwal commented Feb 25, 2022 via email

@vmorrisPolar
Copy link
Collaborator Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants