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

Remote agent on Raspbian #3865

Closed
lkankowski opened this issue Feb 28, 2021 · 25 comments · Fixed by esphome/esphome#1618
Closed

Remote agent on Raspbian #3865

lkankowski opened this issue Feb 28, 2021 · 25 comments · Fixed by esphome/esphome#1618
Milestone

Comments

@lkankowski
Copy link

Hi


Configuration

Operating system: Raspbian GNU/Linux 10 (buster) [fully updated]

PlatformIO Version (platformio --version): PlatformIO Core, version 5.1.0

Description of problem

It probably wont be the most descriptive report, but I just finished few hours fight with 'pio remote agent start' :)
Finally, after dozen times of reinstalling Platformio, installing pyenv and python 3.8.8, some additional packages (from bash history: cryptography==2.9, pyopenssl, cffi, pyopenssl) and lots of frustration with installing correct version of 'twisted' (finally I couldn't install other than 21.2) I did two successful steps:

  1. change file platformio-core/platformio/package/manager/core.py:
    twisted_version = "19.10.0" if PY2 else "20.3.0" result = [ "twisted >= %s" % twisted_version, ]
    ('twisted ==...' into 'twisted >=...')
  2. run command: CRYPTOGRAPHY_DONT_BUILD_RUST=1 pio remote agent

and it built.

Steps to Reproduce

as above

Actual Results

Expected Results

Additional info

YOU DO GREAT JOB WITH PLATFORMIO!

@ivankravets
Copy link
Member

ivankravets commented Mar 4, 2021

You just need these packages in your OS

sudo apt install python3-dev libffi-dev libssl-dev

The only you start pio remote agent start, PlatformIO Core will build dependencies on your machine.

@lkankowski
Copy link
Author

I've tried on almost clean RPI4, and doesn't work :(


root@rpi4:/home/pi# apt update && apt -y upgrade
...

root@rpi4:/home/pi# apt install python3-dev libffi-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  dh-python libexpat1-dev libpython3-dev libpython3.7-dev python3-distutils python3-lib2to3 python3.7-dev
The following NEW packages will be installed:
  dh-python libexpat1-dev libffi-dev libpython3-dev libpython3.7-dev python3-dev python3-distutils python3-lib2t
  python3.7-dev
0 upgraded, 9 newly installed, 0 to remove and 0 not upgraded.
Need to get 48.3 MB of archives.
After this operation, 74.1 MB of additional disk space will be used.
Do you want to continue? [Y/n]
Get:1 http://ftp.icm.edu.pl/pub/Linux/distributions/raspbian/raspbian buster/main armhf python3-lib2to3 all 3.7.7 kB]
Get:2 http://ftp.icm.edu.pl/pub/Linux/distributions/raspbian/raspbian buster/main armhf python3-distutils all 3.42 kB]
Get:3 http://ftp.icm.edu.pl/pub/Linux/distributions/raspbian/raspbian buster/main armhf dh-python all 3.20190308B]
Get:4 http://ftp.icm.edu.pl/pub/Linux/distributions/raspbian/raspbian buster/main armhf libexpat1-dev armhf 2.2.0u1 [127 kB]
Get:5 http://ftp.icm.edu.pl/pub/Linux/distributions/raspbian/raspbian buster/main armhf libffi-dev armhf 3.2.1-9]
Get:6 http://ftp.icm.edu.pl/pub/Linux/distributions/raspbian/raspbian buster/main armhf libpython3.7-dev armhf 3eb10u2 [47.2 MB]
Get:9 http://raspbian.raspberrypi.org/raspbian buster/main armhf python3-dev armhf 3.7.3-1 [1,264 B]
Get:7 http://ftp.icm.edu.pl/pub/Linux/distributions/raspbian/raspbian buster/main armhf libpython3-dev armhf 3.7.1 kB]
Get:8 http://ftp.icm.edu.pl/pub/Linux/distributions/raspbian/raspbian buster/main armhf python3.7-dev armhf 3.7.0u2 [522 kB]
Fetched 48.3 MB in 1min 45s (460 kB/s)
Selecting previously unselected package python3-lib2to3.
(Reading database ... 41990 files and directories currently installed.)
Preparing to unpack .../0-python3-lib2to3_3.7.3-1_all.deb ...
Unpacking python3-lib2to3 (3.7.3-1) ...
Selecting previously unselected package python3-distutils.
Preparing to unpack .../1-python3-distutils_3.7.3-1_all.deb ...
Unpacking python3-distutils (3.7.3-1) ...
Selecting previously unselected package dh-python.
Preparing to unpack .../2-dh-python_3.20190308_all.deb ...
Unpacking dh-python (3.20190308) ...
Selecting previously unselected package libexpat1-dev:armhf.
Preparing to unpack .../3-libexpat1-dev_2.2.6-2+deb10u1_armhf.deb ...
Unpacking libexpat1-dev:armhf (2.2.6-2+deb10u1) ...
Selecting previously unselected package libffi-dev:armhf.
Preparing to unpack .../4-libffi-dev_3.2.1-9_armhf.deb ...
Unpacking libffi-dev:armhf (3.2.1-9) ...
Selecting previously unselected package libpython3.7-dev:armhf.
Preparing to unpack .../5-libpython3.7-dev_3.7.3-2+deb10u2_armhf.deb ...
Unpacking libpython3.7-dev:armhf (3.7.3-2+deb10u2) ...
Selecting previously unselected package libpython3-dev:armhf.
Preparing to unpack .../6-libpython3-dev_3.7.3-1_armhf.deb ...
Unpacking libpython3-dev:armhf (3.7.3-1) ...
Selecting previously unselected package python3.7-dev.
Preparing to unpack .../7-python3.7-dev_3.7.3-2+deb10u2_armhf.deb ...
Unpacking python3.7-dev (3.7.3-2+deb10u2) ...
Selecting previously unselected package python3-dev.
Preparing to unpack .../8-python3-dev_3.7.3-1_armhf.deb ...
Unpacking python3-dev (3.7.3-1) ...
Setting up libffi-dev:armhf (3.2.1-9) ...
Setting up libexpat1-dev:armhf (2.2.6-2+deb10u1) ...
Setting up python3-lib2to3 (3.7.3-1) ...
Setting up python3-distutils (3.7.3-1) ...
Setting up dh-python (3.20190308) ...
Setting up libpython3.7-dev:armhf (3.7.3-2+deb10u2) ...
Setting up python3.7-dev (3.7.3-2+deb10u2) ...
Setting up libpython3-dev:armhf (3.7.3-1) ...
Setting up python3-dev (3.7.3-1) ...
Processing triggers for man-db (2.8.5-2) ...
Processing triggers for install-info (6.5.0.dfsg.1-4+b1) ...


pi@rpi4:~ $ python3 -c "$(curl -fsSL https://raw.githubusercontent.com/platformio/platformio/master/scripts/get-io.py)"
Installer version: 1.0.1
Platform: Linux-5.4.51-v7l+-armv7l-with-glibc2.28
Python version: 3.7.3 (default, Jul 25 2020, 13:03:44)
[GCC 8.3.0]
Python path: /usr/bin/python3
Creating a virtual environment at /home/pi/.platformio/penv
Updating Python package manager (PIP) in a virtual environment
PIP has been successfully updated!
Virtual environment has been successfully created!
Installing PlatformIO Core
Collecting platformio
  Downloading platformio-5.1.0.tar.gz (214 kB)
     |████████████████████████████████| 214 kB 11 kB/s
Collecting bottle==0.12.*
  Downloading bottle-0.12.19-py3-none-any.whl (89 kB)
     |████████████████████████████████| 89 kB 120 kB/s
Collecting click<8,>=5
  Downloading click-7.1.2-py2.py3-none-any.whl (82 kB)
     |████████████████████████████████| 82 kB 5.7 kB/s
Collecting colorama
  Downloading colorama-0.4.4-py2.py3-none-any.whl (16 kB)
Collecting marshmallow<4,>=2
  Downloading marshmallow-3.10.0-py2.py3-none-any.whl (46 kB)
     |████████████████████████████████| 46 kB 18 kB/s
Collecting pyelftools<1,>=0.27
  Downloading pyelftools-0.27-py2.py3-none-any.whl (151 kB)
     |████████████████████████████████| 151 kB 55 kB/s
Collecting pyserial==3.*
  Downloading pyserial-3.5-py2.py3-none-any.whl (90 kB)
     |████████████████████████████████| 90 kB 16 kB/s
Collecting requests==2.*
  Downloading requests-2.25.1-py2.py3-none-any.whl (61 kB)
     |████████████████████████████████| 61 kB 70 kB/s
Collecting semantic_version==2.8.*
  Downloading semantic_version-2.8.5-py2.py3-none-any.whl (15 kB)
Collecting tabulate==0.8.*
  Downloading tabulate-0.8.9-py3-none-any.whl (25 kB)
Collecting zeroconf==0.28.*
  Downloading zeroconf-0.28.8-py3-none-any.whl (55 kB)
     |████████████████████████████████| 55 kB 354 kB/s
Collecting aiofiles==0.6.*
  Downloading aiofiles-0.6.0-py3-none-any.whl (11 kB)
Collecting json-rpc==1.13.*
  Downloading json_rpc-1.13.0-py2.py3-none-any.whl (41 kB)
     |████████████████████████████████| 41 kB 45 kB/s
Collecting starlette==0.14.*
  Downloading starlette-0.14.2-py3-none-any.whl (60 kB)
     |████████████████████████████████| 60 kB 408 kB/s
Collecting uvicorn==0.13.*
  Downloading uvicorn-0.13.4-py3-none-any.whl (46 kB)
     |████████████████████████████████| 46 kB 364 kB/s
Collecting wsproto==1.0.*
  Downloading wsproto-1.0.0-py3-none-any.whl (24 kB)
Collecting urllib3<1.27,>=1.21.1
  Downloading urllib3-1.26.3-py2.py3-none-any.whl (137 kB)
     |████████████████████████████████| 137 kB 466 kB/s
Collecting certifi>=2017.4.17
  Downloading certifi-2020.12.5-py2.py3-none-any.whl (147 kB)
     |████████████████████████████████| 147 kB 455 kB/s
Collecting idna<3,>=2.5
  Downloading idna-2.10-py2.py3-none-any.whl (58 kB)
     |████████████████████████████████| 58 kB 296 kB/s
Collecting chardet<5,>=3.0.2
  Downloading chardet-4.0.0-py2.py3-none-any.whl (178 kB)
     |████████████████████████████████| 178 kB 31 kB/s
Collecting h11>=0.8
  Downloading h11-0.12.0-py3-none-any.whl (54 kB)
     |████████████████████████████████| 54 kB 319 kB/s
Collecting typing-extensions
  Downloading typing_extensions-3.7.4.3-py3-none-any.whl (22 kB)
Collecting ifaddr>=0.1.7
  Downloading ifaddr-0.1.7-py2.py3-none-any.whl (10 kB)
Building wheels for collected packages: platformio
  Building wheel for platformio (setup.py) ... done
  Created wheel for platformio: filename=platformio-5.1.0-py3-none-any.whl size=332285 sha256=2a74e2e5b5bf3b0616d4ca1ab7e4f5ca9a5af52e9fa048ab73c05472
  Stored in directory: /home/pi/.cache/pip/wheels/fb/74/c7/99c19bb8f3a2eb7a6a9d2b3703b22a6204cb328e92b5cd5911
Successfully built platformio
Installing collected packages: urllib3, typing-extensions, ifaddr, idna, h11, click, chardet, certifi, zeroconf,, uvicorn, tabulate, starlette, semantic-version, requests, pyserial, pyelftools, marshmallow, json-rpc, colorame, aiofiles, platformio
Successfully installed aiofiles-0.6.0 bottle-0.12.19 certifi-2020.12.5 chardet-4.0.0 click-7.1.2 colorama-0.4.4 .0 idna-2.10 ifaddr-0.1.7 json-rpc-1.13.0 marshmallow-3.10.0 platformio-5.1.0 pyelftools-0.27 pyserial-3.5 reque.1 semantic-version-2.8.5 starlette-0.14.2 tabulate-0.8.9 typing-extensions-3.7.4.3 urllib3-1.26.3 uvicorn-0.13.o-1.0.0 zeroconf-0.28.8

PlatformIO Core has been successfully installed into an isolated environment `/home/pi/.platformio/penv`!

The full path to `platformio.exe` is `/home/pi/.platformio/penv/bin/platformio`

If you need an access to `platformio.exe` from other applications, please install Shell Commands
(add PlatformIO Core binary directory `/home/pi/.platformio/penv/bin` to the system environment PATH variable):

See https://docs.platformio.org/page/installation.html#install-shell-commands

pi@rpi4:~ $ pio
Usage: pio [OPTIONS] COMMAND [ARGS]...

Options:
  --version          Show the version and exit.
  -f, --force        DEPRECATE
  -c, --caller TEXT  Caller ID (service)
  --no-ansi          Do not print ANSI control characters
  -h, --help         Show this message and exit.

Commands:
  access    Manage resource access
  account   Manage PlatformIO account
  boards    Embedded board explorer
  check     Static code analysis
  ci        Continuous integration
  debug     Unified debugger
  device    Device manager & serial/socket monitor
  home      GUI to manage PlatformIO
  lib       Library manager
  org       Manage organizations
  package   Package manager
  platform  Platform manager
  project   Project manager
  remote    Remote development
  run       Run project targets (build, upload, clean, etc.)
  settings  Manage system settings
  system    Miscellaneous system commands
  team      Manage organization teams
  test      Unit testing
  update    Update installed platforms, packages and libraries
  upgrade   Upgrade PlatformIO to the latest version

pi@rpi4:~ $ pio remote agent start
****************************************************************************************************************
If you like PlatformIO, please:
- follow us on Twitter to stay up-to-date on the latest project news > https://twitter.com/PlatformIO_Org
- star it on GitHub > https://github.com/platformio/platformio
- try PlatformIO IDE for embedded development > https://platformio.org/platformio-ide
****************************************************************************************************************

Tool Manager: Installing platformio/contrib-pysite @ ~2.37.0
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
Tool Manager: contrib-pysite @ 2.37.191020 has been installed!
Collecting twisted==20.3.0
  Downloading Twisted-20.3.0.tar.bz2 (3.1 MB)
     |████████████████████████████████| 3.1 MB 129 kB/s
Collecting zope.interface>=4.4.2
  Downloading zope.interface-5.2.0.tar.gz (227 kB)
     |████████████████████████████████| 227 kB 12 kB/s
Collecting constantly>=15.1
  Downloading constantly-15.1.0.tar.gz (21 kB)
Collecting incremental>=16.10.1
  Downloading incremental-21.3.0.tar.gz (17 kB)
Collecting Automat>=0.3.0
  Downloading Automat-20.2.0.tar.gz (61 kB)
     |████████████████████████████████| 61 kB 52 kB/s
Collecting hyperlink>=17.1.1
  Downloading hyperlink-21.0.0.tar.gz (140 kB)
     |████████████████████████████████| 140 kB 982 kB/s
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Collecting PyHamcrest!=1.10.0,>=1.9.0
  Downloading PyHamcrest-2.0.2.tar.gz (44 kB)
     |████████████████████████████████| 44 kB 12 kB/s
Collecting attrs>=19.2.0
  Downloading attrs-20.3.0.tar.gz (164 kB)
     |████████████████████████████████| 164 kB 4.9 kB/s
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Collecting six
  Downloading six-1.15.0.tar.gz (33 kB)
Collecting idna>=2.5
  Downloading idna-3.1.tar.gz (181 kB)
     |████████████████████████████████| 181 kB 313 kB/s
Collecting setuptools
  Using cached setuptools-54.1.0.tar.gz (2.1 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Skipping wheel build for twisted, due to binaries being disabled for it.
Skipping wheel build for Automat, due to binaries being disabled for it.
Skipping wheel build for constantly, due to binaries being disabled for it.
Skipping wheel build for idna, due to binaries being disabled for it.
Skipping wheel build for incremental, due to binaries being disabled for it.
Skipping wheel build for PyHamcrest, due to binaries being disabled for it.
Skipping wheel build for zope.interface, due to binaries being disabled for it.
Skipping wheel build for six, due to binaries being disabled for it.
Building wheels for collected packages: attrs, hyperlink, setuptools
  Building wheel for attrs (PEP 517) ... done
  Created wheel for attrs: filename=attrs-20.3.0-py2.py3-none-any.whl size=49336 sha256=589127d227e3bd933d2d289c55429c5a44bc02bed1085531a816374547bd214e
  Stored in directory: /home/pi/.cache/pip/wheels/a3/97/8f/66c1f6349d2edefbcedb90cb11548b201eff59c0d74c474ad9
  Building wheel for hyperlink (PEP 517) ... done
  Created wheel for hyperlink: filename=hyperlink-21.0.0-py2.py3-none-any.whl size=74638 sha256=1c72fb689ce0ebe175fb0c9dc53010a72e247fdf840dfda9b6eedd929f60ba53
  Stored in directory: /home/pi/.cache/pip/wheels/88/de/19/cb72b4d9352212aa72590f091be9d29c2ae597def937977879
  Building wheel for setuptools (PEP 517) ... done
  Created wheel for setuptools: filename=setuptools-54.1.0-py3-none-any.whl size=784833 sha256=00a12833a44b50661586368701576a15694eee54e832a482d123481508742bc5
  Stored in directory: /home/pi/.cache/pip/wheels/87/da/8c/95bc3c9891c9544cee8086e67ec303e4e71915dda9f89cd1b7
Successfully built attrs hyperlink setuptools
/home/pi/.platformio/penv/binInstalling collected packages: six, setuptools, idna, attrs, zope.interface, PyHamcrest, incremental, hyperlink, constantly, Automat, twisted
    Running setup.py install for six ... done
    Running setup.py install for idna ... done
    Running setup.py install for zope.interface ... done
    Running setup.py install for PyHamcrest ... done
    Running setup.py install for incremental ... done
    Running setup.py install for constantly ... done
    Running setup.py install for Automat ... done
    Running setup.py install for twisted ... done
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
requests 2.25.1 requires idna<3,>=2.5, but you have idna 3.1 which is incompatible.
Successfully installed Automat-20.2.0 PyHamcrest-2.0.2 attrs-20.3.0 constantly-15.1.0 hyperlink-21.0.0 idna-3.1 incremental-21.3.0 setuptools-54.1.0 six-1.15.0 twisted-20.3.0 zope.interface-5.2.0
Collecting pyopenssl>=16.0.0
  Downloading pyOpenSSL-20.0.1.tar.gz (173 kB)
     |████████████████████████████████| 173 kB 54 kB/s
Collecting cryptography>=3.2
  Downloading cryptography-3.4.6.tar.gz (546 kB)
     |████████████████████████████████| 546 kB 6.0 kB/s
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Collecting six>=1.5.2
  Using cached six-1.15.0.tar.gz (33 kB)
Collecting cffi>=1.12
  Using cached cffi-1.14.5.tar.gz (475 kB)
Collecting pycparser
  Using cached pycparser-2.20.tar.gz (161 kB)
Skipping wheel build for pyopenssl, due to binaries being disabled for it.
Skipping wheel build for cffi, due to binaries being disabled for it.
Skipping wheel build for six, due to binaries being disabled for it.
Skipping wheel build for pycparser, due to binaries being disabled for it.
Building wheels for collected packages: cryptography
  Building wheel for cryptography (PEP 517) ... error
  ERROR: Command errored out with exit status 1:
   command: /home/pi/.platformio/penv/bin/python /home/pi/.platformio/penv/lib/python3.7/site-packages/pip/_vendor/pep517/_in_process.py build_wheel /tmp/tmp8_oiup1s
       cwd: /tmp/pip-install-jxdkjr0e/cryptography_bbdfba1d86384a5ea60e4a1d0f56e97c
  Complete output (149 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-armv7l-3.7
  creating build/lib.linux-armv7l-3.7/cryptography
  copying src/cryptography/__init__.py -> build/lib.linux-armv7l-3.7/cryptography
  copying src/cryptography/__about__.py -> build/lib.linux-armv7l-3.7/cryptography
  copying src/cryptography/exceptions.py -> build/lib.linux-armv7l-3.7/cryptography
  copying src/cryptography/utils.py -> build/lib.linux-armv7l-3.7/cryptography
  copying src/cryptography/fernet.py -> build/lib.linux-armv7l-3.7/cryptography
  creating build/lib.linux-armv7l-3.7/cryptography/x509
  copying src/cryptography/x509/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/x509
  copying src/cryptography/x509/general_name.py -> build/lib.linux-armv7l-3.7/cryptography/x509
  copying src/cryptography/x509/oid.py -> build/lib.linux-armv7l-3.7/cryptography/x509
  copying src/cryptography/x509/base.py -> build/lib.linux-armv7l-3.7/cryptography/x509
  copying src/cryptography/x509/extensions.py -> build/lib.linux-armv7l-3.7/cryptography/x509
  copying src/cryptography/x509/certificate_transparency.py -> build/lib.linux-armv7l-3.7/cryptography/x509
  copying src/cryptography/x509/name.py -> build/lib.linux-armv7l-3.7/cryptography/x509
  copying src/cryptography/x509/ocsp.py -> build/lib.linux-armv7l-3.7/cryptography/x509
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat
  copying src/cryptography/hazmat/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat
  copying src/cryptography/hazmat/_types.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat
  copying src/cryptography/hazmat/_der.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat
  copying src/cryptography/hazmat/_oid.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings
  copying src/cryptography/hazmat/bindings/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/poly1305.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/_cipheralgorithm.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/_serialization.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/hashes.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/cmac.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/keywrap.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/hmac.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/_asymmetric.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/padding.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/constant_time.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/backends
  copying src/cryptography/hazmat/backends/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends
  copying src/cryptography/hazmat/backends/interfaces.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings/openssl
  copying src/cryptography/hazmat/bindings/openssl/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings/openssl
  copying src/cryptography/hazmat/bindings/openssl/binding.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings/openssl
  copying src/cryptography/hazmat/bindings/openssl/_conditional.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings/openssl
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/kbkdf.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/scrypt.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/concatkdf.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/pbkdf2.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/hkdf.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/x963kdf.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/x25519.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/x448.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/rsa.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/dsa.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/ed25519.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/utils.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/ed448.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/dh.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/ec.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/padding.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/twofactor
  copying src/cryptography/hazmat/primitives/twofactor/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/twofactor
  copying src/cryptography/hazmat/primitives/twofactor/hotp.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/twofactor
  copying src/cryptography/hazmat/primitives/twofactor/utils.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/twofactor
  copying src/cryptography/hazmat/primitives/twofactor/totp.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/twofactor
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/modes.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/algorithms.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/base.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/aead.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/base.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/pkcs12.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/pkcs7.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/ssh.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/x25519.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ciphers.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/x448.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/poly1305.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/rsa.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/dsa.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/encode_asn1.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ed25519.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/decode_asn1.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/hashes.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/aead.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/x509.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/backend.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ocsp.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/utils.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/cmac.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ed448.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/dh.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/hmac.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ec.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  running egg_info
  writing src/cryptography.egg-info/PKG-INFO
  writing dependency_links to src/cryptography.egg-info/dependency_links.txt
  writing requirements to src/cryptography.egg-info/requires.txt
  writing top-level names to src/cryptography.egg-info/top_level.txt
  reading manifest file 'src/cryptography.egg-info/SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  no previously-included directories found matching 'docs/_build'
  warning: no previously-included files found matching 'vectors'
  warning: no previously-included files matching '*' found under directory 'vectors'
  warning: no previously-included files matching '*' found under directory '.github'
  warning: no previously-included files found matching 'release.py'
  warning: no previously-included files found matching '.coveragerc'
  warning: no previously-included files found matching 'codecov.yml'
  warning: no previously-included files found matching '.readthedocs.yml'
  warning: no previously-included files found matching 'dev-requirements.txt'
  warning: no previously-included files found matching 'tox.ini'
  warning: no previously-included files found matching 'mypy.ini'
  warning: no previously-included files matching '*' found under directory '.zuul.d'
  warning: no previously-included files matching '*' found under directory '.zuul.playbooks'
  writing manifest file 'src/cryptography.egg-info/SOURCES.txt'
  copying src/cryptography/py.typed -> build/lib.linux-armv7l-3.7/cryptography
  running build_ext
  generating cffi module 'build/temp.linux-armv7l-3.7/_padding.c'
  creating build/temp.linux-armv7l-3.7
  generating cffi module 'build/temp.linux-armv7l-3.7/_openssl.c'
  running build_rust

      =============================DEBUG ASSISTANCE=============================
      If you are seeing a compilation error please try the following steps to
      successfully install cryptography:
      1) Upgrade to the latest pip and try again. This will fix errors for most
         users. See: https://pip.pypa.io/en/stable/installing/#upgrading-pip
      2) Read https://cryptography.io/en/latest/installation.html for specific
         instructions for your platform.
      3) Check our frequently asked questions for more information:
         https://cryptography.io/en/latest/faq.html
      4) Ensure you have a recent Rust toolchain installed:
         https://cryptography.io/en/latest/installation.html#rust
      5) If you are experiencing issues with Rust for *this release only* you may
         set the environment variable `CRYPTOGRAPHY_DONT_BUILD_RUST=1`.
      =============================DEBUG ASSISTANCE=============================

  error: Can not find Rust compiler
  ----------------------------------------
  ERROR: Failed building wheel for cryptography
Failed to build cryptography
ERROR: Could not build wheels for cryptography which use PEP 517 and cannot be installed directly
Error: Traceback (most recent call last):
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/platformio/package/manager/core.py", line 127, in inject_contrib_pysite
    from OpenSSL import SSL
  File "/home/pi/.platformio/packages/contrib-pysite/OpenSSL/__init__.py", line 8, in <module>
  File "/home/pi/.platformio/packages/contrib-pysite/OpenSSL/crypto.py", line 12, in <module>
  File "/home/pi/.platformio/packages/contrib-pysite/cryptography/x509/__init__.py", line 8, in <module>
  File "/home/pi/.platformio/packages/contrib-pysite/cryptography/x509/base.py", line 18, in <module>
  File "/home/pi/.platformio/packages/contrib-pysite/cryptography/x509/extensions.py", line 20, in <module>
  File "/home/pi/.platformio/packages/contrib-pysite/cryptography/hazmat/primitives/constant_time.py", line 11, in <module>
ImportError: /home/pi/.platformio/packages/contrib-pysite/cryptography/hazmat/bindings/_constant_time.abi3.so: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/platformio/__main__.py", line 109, in main
    cli()  # pylint: disable=no-value-for-parameter
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/platformio/commands/__init__.py", line 44, in invoke
    return super(PlatformioCLI, self).invoke(ctx)
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/click/core.py", line 1256, in invoke
    Command.invoke(self, ctx)
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/click/decorators.py", line 21, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/platformio/commands/remote/command.py", line 42, in cli
    inject_contrib_pysite(verify_openssl=True)
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/platformio/package/manager/core.py", line 129, in inject_contrib_pysite
    build_contrib_pysite_package(contrib_pysite_dir)
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/platformio/package/manager/core.py", line 153, in build_contrib_pysite_package
    subprocess.check_call(args + [dep])
  File "/usr/lib/python3.7/subprocess.py", line 347, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/home/pi/.platformio/penv/bin/python', '-m', 'pip', 'install', '--no-compile', '-t', '/home/pi/.platformio/packages/contrib-pysite', '--no-binary', ':all:', 'pyopenssl >= 16.0.0']' returned non-zero exit status 1.

============================================================

An unexpected error occurred. Further steps:

* Verify that you have the latest version of PlatformIO using
  `pip install -U platformio` command

* Try to find answer in FAQ Troubleshooting section
  https://docs.platformio.org/page/faq.html

* Report this problem to the developers
  https://github.com/platformio/platformio-core/issues

============================================================

pi@rpi4:~ $ 

@ivankravets
Copy link
Member

It seems the cryptography package changed his installation process. See https://cryptography.io/en/latest/faq.html#installing-cryptography-fails-with-error-can-not-find-rust-compiler

Could you try to install apt install rustup?

@lkankowski
Copy link
Author

There is no "rustup" in "Raspbian GNU/Linux 10 (buster)" repositories.
Sometimes, but not always, if I run for first time:
CRYPTOGRAPHY_DONT_BUILD_RUST=1 pio remote agent start
then compilation finishes with errors (unfortunately I didn't capture them).
And then second run pio remote agent start works.

@ivankravets ivankravets reopened this Mar 15, 2021
@ivankravets ivankravets added this to the 5.1.1 milestone Mar 15, 2021
@ivankravets
Copy link
Member

Could you run pio upgrade --dev? Does it work now? You don't need to add manually CRYPTOGRAPHY_DONT_BUILD_RUST, it's already in the code.

@lkankowski
Copy link
Author

Unfortunately, following error:

pi@rpi4:~ $ pio upgrade --dev
Please wait while upgrading PlatformIO ...
PlatformIO has been successfully upgraded to 5.1.1b1
Release notes: https://docs.platformio.org/en/latest/history.html
pi@rpi4:~ $ pio remote agent start
Please wait while upgrading PlatformIO...
PlatformIO has been successfully upgraded to 5.1.1b1!

************************************************************************************************************************
If you like PlatformIO, please:
- follow us on Twitter to stay up-to-date on the latest project news > https://twitter.com/PlatformIO_Org
- star it on GitHub > https://github.com/platformio/platformio
- try PlatformIO IDE for embedded development > https://platformio.org/platformio-ide
************************************************************************************************************************

Tool Manager: Installing platformio/contrib-pysite @ ~2.37.0
Unpacking  [####################################]  100%
Tool Manager: contrib-pysite @ 2.37.191020 has been installed!
Collecting twisted==20.3.0
  Using cached Twisted-20.3.0.tar.bz2 (3.1 MB)
Collecting zope.interface>=4.4.2
  Using cached zope.interface-5.2.0.tar.gz (227 kB)
Collecting constantly>=15.1
  Using cached constantly-15.1.0.tar.gz (21 kB)
Collecting incremental>=16.10.1
  Using cached incremental-21.3.0.tar.gz (17 kB)
Collecting Automat>=0.3.0
  Using cached Automat-20.2.0.tar.gz (61 kB)
Collecting hyperlink>=17.1.1
  Using cached hyperlink-21.0.0.tar.gz (140 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Collecting PyHamcrest!=1.10.0,>=1.9.0
  Using cached PyHamcrest-2.0.2.tar.gz (44 kB)
Collecting attrs>=19.2.0
  Using cached attrs-20.3.0.tar.gz (164 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Collecting six
  Using cached six-1.15.0.tar.gz (33 kB)
Collecting idna>=2.5
  Using cached idna-3.1.tar.gz (181 kB)
Collecting setuptools
  Using cached setuptools-54.1.2.tar.gz (2.1 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Skipping wheel build for twisted, due to binaries being disabled for it.
Skipping wheel build for Automat, due to binaries being disabled for it.
Skipping wheel build for constantly, due to binaries being disabled for it.
Skipping wheel build for idna, due to binaries being disabled for it.
Skipping wheel build for incremental, due to binaries being disabled for it.
Skipping wheel build for PyHamcrest, due to binaries being disabled for it.
Skipping wheel build for zope.interface, due to binaries being disabled for it.
Skipping wheel build for six, due to binaries being disabled for it.
Building wheels for collected packages: attrs, hyperlink, setuptools
  Building wheel for attrs (PEP 517) ... done
  Created wheel for attrs: filename=attrs-20.3.0-py2.py3-none-any.whl size=49336 sha256=7a21bd44c8b0d2945ee404114c36082f24c38899551fb0485a68345fee769366
  Stored in directory: /home/pi/.cache/pip/wheels/a3/97/8f/66c1f6349d2edefbcedb90cb11548b201eff59c0d74c474ad9
  Building wheel for hyperlink (PEP 517) ... done
  Created wheel for hyperlink: filename=hyperlink-21.0.0-py2.py3-none-any.whl size=74638 sha256=8e9f63a3e361ffed2c690a1c261ea55afd183633c70cd7dbd7fb0892090ea1e5
  Stored in directory: /home/pi/.cache/pip/wheels/88/de/19/cb72b4d9352212aa72590f091be9d29c2ae597def937977879
  Building wheel for setuptools (PEP 517) ... done
  Created wheel for setuptools: filename=setuptools-54.1.2-py3-none-any.whl size=785007 sha256=64e532302168e92c49a27403ef3401d6dc1eb75bad2f56a014500cde7ae505f7
  Stored in directory: /home/pi/.cache/pip/wheels/77/6c/9c/a932d7b60e7bce4716cd528fe848cdcb50448006fb87ebb021
Successfully built attrs hyperlink setuptools
Installing collected packages: six, setuptools, idna, attrs, zope.interface, PyHamcrest, incremental, hyperlink, constantly, Automat, twisted
    Running setup.py install for six ... done
    Running setup.py install for idna ... done
    Running setup.py install for zope.interface ... done
    Running setup.py install for PyHamcrest ... done
    Running setup.py install for incremental ... done
    Running setup.py install for constantly ... done
    Running setup.py install for Automat ... done
    Running setup.py install for twisted ... done
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
requests 2.25.1 requires idna<3,>=2.5, but you have idna 3.1 which is incompatible.
Successfully installed Automat-20.2.0 PyHamcrest-2.0.2 attrs-20.3.0 constantly-15.1.0 hyperlink-21.0.0 idna-3.1 incremental-21.3.0 setuptools-54.1.2 six-1.15.0 twisted-20.3.0 zope.interface-5.2.0
Collecting pyopenssl>=16.0.0
  Using cached pyOpenSSL-20.0.1.tar.gz (173 kB)
Collecting cryptography>=3.2
  Using cached cryptography-3.4.6.tar.gz (546 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Collecting six>=1.5.2
  Using cached six-1.15.0.tar.gz (33 kB)
Collecting cffi>=1.12
  Using cached cffi-1.14.5.tar.gz (475 kB)
Collecting pycparser
  Using cached pycparser-2.20.tar.gz (161 kB)
Skipping wheel build for pyopenssl, due to binaries being disabled for it.
Skipping wheel build for cffi, due to binaries being disabled for it.
Skipping wheel build for six, due to binaries being disabled for it.
Skipping wheel build for pycparser, due to binaries being disabled for it.
Building wheels for collected packages: cryptography
  Building wheel for cryptography (PEP 517) ... error
  ERROR: Command errored out with exit status 1:
   command: /home/pi/.platformio/penv/bin/python /home/pi/.platformio/penv/lib/python3.7/site-packages/pip/_vendor/pep517/_in_process.py build_wheel /tmp/tmpj7czm6ck
       cwd: /tmp/pip-install-mxiill0v/cryptography_243b1b670ec94db2b6c0a207dbad2689
  Complete output (156 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-armv7l-3.7
  creating build/lib.linux-armv7l-3.7/cryptography
  copying src/cryptography/__init__.py -> build/lib.linux-armv7l-3.7/cryptography
  copying src/cryptography/__about__.py -> build/lib.linux-armv7l-3.7/cryptography
  copying src/cryptography/exceptions.py -> build/lib.linux-armv7l-3.7/cryptography
  copying src/cryptography/utils.py -> build/lib.linux-armv7l-3.7/cryptography
  copying src/cryptography/fernet.py -> build/lib.linux-armv7l-3.7/cryptography
  creating build/lib.linux-armv7l-3.7/cryptography/x509
  copying src/cryptography/x509/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/x509
  copying src/cryptography/x509/general_name.py -> build/lib.linux-armv7l-3.7/cryptography/x509
  copying src/cryptography/x509/oid.py -> build/lib.linux-armv7l-3.7/cryptography/x509
  copying src/cryptography/x509/base.py -> build/lib.linux-armv7l-3.7/cryptography/x509
  copying src/cryptography/x509/extensions.py -> build/lib.linux-armv7l-3.7/cryptography/x509
  copying src/cryptography/x509/certificate_transparency.py -> build/lib.linux-armv7l-3.7/cryptography/x509
  copying src/cryptography/x509/name.py -> build/lib.linux-armv7l-3.7/cryptography/x509
  copying src/cryptography/x509/ocsp.py -> build/lib.linux-armv7l-3.7/cryptography/x509
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat
  copying src/cryptography/hazmat/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat
  copying src/cryptography/hazmat/_types.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat
  copying src/cryptography/hazmat/_der.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat
  copying src/cryptography/hazmat/_oid.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings
  copying src/cryptography/hazmat/bindings/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/poly1305.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/_cipheralgorithm.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/_serialization.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/hashes.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/cmac.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/keywrap.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/hmac.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/_asymmetric.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/padding.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/constant_time.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/backends
  copying src/cryptography/hazmat/backends/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends
  copying src/cryptography/hazmat/backends/interfaces.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings/openssl
  copying src/cryptography/hazmat/bindings/openssl/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings/openssl
  copying src/cryptography/hazmat/bindings/openssl/binding.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings/openssl
  copying src/cryptography/hazmat/bindings/openssl/_conditional.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings/openssl
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/kbkdf.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/scrypt.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/concatkdf.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/pbkdf2.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/hkdf.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/x963kdf.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/x25519.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/x448.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/rsa.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/dsa.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/ed25519.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/utils.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/ed448.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/dh.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/ec.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/padding.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/twofactor
  copying src/cryptography/hazmat/primitives/twofactor/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/twofactor
  copying src/cryptography/hazmat/primitives/twofactor/hotp.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/twofactor
  copying src/cryptography/hazmat/primitives/twofactor/utils.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/twofactor
  copying src/cryptography/hazmat/primitives/twofactor/totp.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/twofactor
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/modes.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/algorithms.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/base.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/aead.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/base.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/pkcs12.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/pkcs7.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/ssh.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/x25519.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ciphers.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/x448.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/poly1305.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/rsa.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/dsa.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/encode_asn1.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ed25519.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/decode_asn1.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/hashes.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/aead.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/x509.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/backend.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ocsp.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/utils.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/cmac.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ed448.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/dh.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/hmac.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ec.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  running egg_info
  writing src/cryptography.egg-info/PKG-INFO
  writing dependency_links to src/cryptography.egg-info/dependency_links.txt
  writing requirements to src/cryptography.egg-info/requires.txt
  writing top-level names to src/cryptography.egg-info/top_level.txt
  reading manifest file 'src/cryptography.egg-info/SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  no previously-included directories found matching 'docs/_build'
  warning: no previously-included files found matching 'vectors'
  warning: no previously-included files matching '*' found under directory 'vectors'
  warning: no previously-included files matching '*' found under directory '.github'
  warning: no previously-included files found matching 'release.py'
  warning: no previously-included files found matching '.coveragerc'
  warning: no previously-included files found matching 'codecov.yml'
  warning: no previously-included files found matching '.readthedocs.yml'
  warning: no previously-included files found matching 'dev-requirements.txt'
  warning: no previously-included files found matching 'tox.ini'
  warning: no previously-included files found matching 'mypy.ini'
  warning: no previously-included files matching '*' found under directory '.zuul.d'
  warning: no previously-included files matching '*' found under directory '.zuul.playbooks'
  writing manifest file 'src/cryptography.egg-info/SOURCES.txt'
  copying src/cryptography/py.typed -> build/lib.linux-armv7l-3.7/cryptography
  running build_ext
  generating cffi module 'build/temp.linux-armv7l-3.7/_padding.c'
  creating build/temp.linux-armv7l-3.7
  generating cffi module 'build/temp.linux-armv7l-3.7/_openssl.c'
  building '_openssl' extension
  creating build/temp.linux-armv7l-3.7/build
  creating build/temp.linux-armv7l-3.7/build/temp.linux-armv7l-3.7
  arm-linux-gnueabihf-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/home/pi/.platformio/penv/include -I/usr/include/python3.7m -c build/temp.linux-armv7l-3.7/_openssl.c -o build/temp.linux-armv7l-3.7/build/temp.linux-armv7l-3.7/_openssl.o -Wconversion -Wno-error=sign-conversion
  build/temp.linux-armv7l-3.7/_openssl.c:575:10: fatal error: openssl/opensslv.h: No such file or directory
   #include <openssl/opensslv.h>
            ^~~~~~~~~~~~~~~~~~~~
  compilation terminated.

      =============================DEBUG ASSISTANCE=============================
      If you are seeing a compilation error please try the following steps to
      successfully install cryptography:
      1) Upgrade to the latest pip and try again. This will fix errors for most
         users. See: https://pip.pypa.io/en/stable/installing/#upgrading-pip
      2) Read https://cryptography.io/en/latest/installation.html for specific
         instructions for your platform.
      3) Check our frequently asked questions for more information:
         https://cryptography.io/en/latest/faq.html
      4) Ensure you have a recent Rust toolchain installed:
         https://cryptography.io/en/latest/installation.html#rust
      5) If you are experiencing issues with Rust for *this release only* you may
         set the environment variable `CRYPTOGRAPHY_DONT_BUILD_RUST=1`.
      =============================DEBUG ASSISTANCE=============================

  error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1
  ----------------------------------------
  ERROR: Failed building wheel for cryptography
Failed to build cryptography
ERROR: Could not build wheels for cryptography which use PEP 517 and cannot be installed directly
Error: Traceback (most recent call last):
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/platformio/package/manager/core.py", line 127, in inject_contrib_pysite
    from OpenSSL import SSL
  File "/home/pi/.platformio/packages/contrib-pysite/OpenSSL/__init__.py", line 8, in <module>
  File "/home/pi/.platformio/packages/contrib-pysite/OpenSSL/crypto.py", line 12, in <module>
  File "/home/pi/.platformio/packages/contrib-pysite/cryptography/x509/__init__.py", line 8, in <module>
  File "/home/pi/.platformio/packages/contrib-pysite/cryptography/x509/base.py", line 18, in <module>
  File "/home/pi/.platformio/packages/contrib-pysite/cryptography/x509/extensions.py", line 20, in <module>
  File "/home/pi/.platformio/packages/contrib-pysite/cryptography/hazmat/primitives/constant_time.py", line 11, in <module>
ImportError: /home/pi/.platformio/packages/contrib-pysite/cryptography/hazmat/bindings/_constant_time.abi3.so: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/platformio/__main__.py", line 109, in main
    cli()  # pylint: disable=no-value-for-parameter
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/platformio/commands/__init__.py", line 44, in invoke
    return super(PlatformioCLI, self).invoke(ctx)
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/click/core.py", line 1256, in invoke
    Command.invoke(self, ctx)
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/click/decorators.py", line 21, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/platformio/commands/remote/command.py", line 42, in cli
    inject_contrib_pysite(verify_openssl=True)
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/platformio/package/manager/core.py", line 129, in inject_contrib_pysite
    build_contrib_pysite_package(contrib_pysite_dir)
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/platformio/package/manager/core.py", line 156, in build_contrib_pysite_package
    subprocess.check_call(args + [dep])
  File "/usr/lib/python3.7/subprocess.py", line 347, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/home/pi/.platformio/penv/bin/python', '-m', 'pip', 'install', '--no-compile', '-t', '/home/pi/.platformio/packages/contrib-pysite', '--no-binary', ':all:', 'pyopenssl >= 16.0.0']' returned non-zero exit status 1.

============================================================

An unexpected error occurred. Further steps:

* Verify that you have the latest version of PlatformIO using
  `pip install -U platformio` command

* Try to find answer in FAQ Troubleshooting section
  https://docs.platformio.org/page/faq.html

* Report this problem to the developers
  https://github.com/platformio/platformio-core/issues

============================================================

Same error after installing Rust compiler with command curl https://sh.rustup.rs -sSf | sh and with command CRYPTOGRAPHY_DONT_BUILD_RUST=1 pio remote agent start.
I can try this on completly clean Raspbian, but you must wait a few days.

@lkankowski
Copy link
Author

Completly clean Raspberry OS instalation:

Using username "pi".
Server refused our key
pi@192.168.1.112's password:
Linux raspberrypi 5.4.83-v7l+ #1379 SMP Mon Dec 14 13:11:54 GMT 2020 armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.

SSH is enabled and the default password for the 'pi' user has not been changed.
This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.

pi@raspberrypi:~ $ sudo bash
root@raspberrypi:/home/pi# apt update && apt upgrade
........
done.


root@raspberrypi:/home/pi/.ssh# exit
exit

pi@raspberrypi:~ $ sudo apt install python3-dev libffi-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  dh-python libexpat1-dev libpython3-dev libpython3.7-dev python3-distutils python3-lib2to3 python3.7-dev
The following NEW packages will be installed:
  dh-python libexpat1-dev libffi-dev libpython3-dev libpython3.7-dev python3-dev python3-distutils python3-lib2to3 python3.7-dev
0 upgraded, 9 newly installed, 0 to remove and 0 not upgraded.
Need to get 48.3 MB of archives.
After this operation, 74.1 MB of additional disk space will be used.
Do you want to continue? [Y/n]
Get:1 http://ftp.icm.edu.pl/pub/Linux/distributions/raspbian/raspbian buster/main armhf python3-lib2to3 all 3.7.3-1 [76.7 kB]
Get:2 http://ftp.icm.edu.pl/pub/Linux/distributions/raspbian/raspbian buster/main armhf python3-distutils all 3.7.3-1 [142 kB]
Get:3 http://ftp.icm.edu.pl/pub/Linux/distributions/raspbian/raspbian buster/main armhf dh-python all 3.20190308 [99.3 kB]
Get:4 http://ftp.icm.edu.pl/pub/Linux/distributions/raspbian/raspbian buster/main armhf libexpat1-dev armhf 2.2.6-2+deb10u1 [127 kB]
Get:5 http://ftp.icm.edu.pl/pub/Linux/distributions/raspbian/raspbian buster/main armhf libffi-dev armhf 3.2.1-9 [159 kB]
Get:9 http://raspbian.raspberrypi.org/raspbian buster/main armhf python3-dev armhf 3.7.3-1 [1,264 B]
Get:6 http://ftp.icm.edu.pl/pub/Linux/distributions/raspbian/raspbian buster/main armhf libpython3.7-dev armhf 3.7.3-2+deb10u2 [47.2 MB]
Get:7 http://ftp.icm.edu.pl/pub/Linux/distributions/raspbian/raspbian buster/main armhf libpython3-dev armhf 3.7.3-1 [20.1 kB]
Get:8 http://ftp.icm.edu.pl/pub/Linux/distributions/raspbian/raspbian buster/main armhf python3.7-dev armhf 3.7.3-2+deb10u2 [522 kB]
Fetched 48.3 MB in 4min 0s (201 kB/s)
Selecting previously unselected package python3-lib2to3.
(Reading database ... 40126 files and directories currently installed.)
Preparing to unpack .../0-python3-lib2to3_3.7.3-1_all.deb ...
Unpacking python3-lib2to3 (3.7.3-1) ...
Selecting previously unselected package python3-distutils.
Preparing to unpack .../1-python3-distutils_3.7.3-1_all.deb ...
Unpacking python3-distutils (3.7.3-1) ...
Selecting previously unselected package dh-python.
Preparing to unpack .../2-dh-python_3.20190308_all.deb ...
Unpacking dh-python (3.20190308) ...
Selecting previously unselected package libexpat1-dev:armhf.
Preparing to unpack .../3-libexpat1-dev_2.2.6-2+deb10u1_armhf.deb ...
Unpacking libexpat1-dev:armhf (2.2.6-2+deb10u1) ...
Selecting previously unselected package libffi-dev:armhf.
Preparing to unpack .../4-libffi-dev_3.2.1-9_armhf.deb ...
Unpacking libffi-dev:armhf (3.2.1-9) ...
Selecting previously unselected package libpython3.7-dev:armhf.
Preparing to unpack .../5-libpython3.7-dev_3.7.3-2+deb10u2_armhf.deb ...
Unpacking libpython3.7-dev:armhf (3.7.3-2+deb10u2) ...
Selecting previously unselected package libpython3-dev:armhf.
Preparing to unpack .../6-libpython3-dev_3.7.3-1_armhf.deb ...
Unpacking libpython3-dev:armhf (3.7.3-1) ...
Selecting previously unselected package python3.7-dev.
Preparing to unpack .../7-python3.7-dev_3.7.3-2+deb10u2_armhf.deb ...
Unpacking python3.7-dev (3.7.3-2+deb10u2) ...
Selecting previously unselected package python3-dev.
Preparing to unpack .../8-python3-dev_3.7.3-1_armhf.deb ...
Unpacking python3-dev (3.7.3-1) ...
Setting up libffi-dev:armhf (3.2.1-9) ...
Setting up libexpat1-dev:armhf (2.2.6-2+deb10u1) ...
Setting up python3-lib2to3 (3.7.3-1) ...
Setting up python3-distutils (3.7.3-1) ...
Setting up dh-python (3.20190308) ...
Setting up libpython3.7-dev:armhf (3.7.3-2+deb10u2) ...
Setting up python3.7-dev (3.7.3-2+deb10u2) ...
Setting up libpython3-dev:armhf (3.7.3-1) ...
Setting up python3-dev (3.7.3-1) ...
Processing triggers for man-db (2.8.5-2) ...
Processing triggers for install-info (6.5.0.dfsg.1-4+b1) ...


pi@raspberrypi:~ $ python3 -c "$(curl -fsSL https://raw.githubusercontent.com/platformio/platformio/master/scripts/get-platformio.py)"
Installer version: 1.0.1
Platform: Linux-5.4.83-v7l+-armv7l-with-glibc2.28
Python version: 3.7.3 (default, Jul 25 2020, 13:03:44)
[GCC 8.3.0]
Python path: /usr/bin/python3
Creating a virtual environment at /home/pi/.platformio/penv
Updating Python package manager (PIP) in a virtual environment
PIP has been successfully updated!
Virtual environment has been successfully created!
Installing PlatformIO Core
Collecting platformio
  Downloading platformio-5.1.0.tar.gz (214 kB)
     |████████████████████████████████| 214 kB 230 kB/s
Collecting bottle==0.12.*
  Downloading bottle-0.12.19-py3-none-any.whl (89 kB)
     |████████████████████████████████| 89 kB 305 kB/s
Collecting click<8,>=5
  Downloading click-7.1.2-py2.py3-none-any.whl (82 kB)
     |████████████████████████████████| 82 kB 168 kB/s
Collecting colorama
  Downloading colorama-0.4.4-py2.py3-none-any.whl (16 kB)
Collecting marshmallow<4,>=2
  Downloading marshmallow-3.10.0-py2.py3-none-any.whl (46 kB)
     |████████████████████████████████| 46 kB 265 kB/s
Collecting pyelftools<1,>=0.27
  Downloading pyelftools-0.27-py2.py3-none-any.whl (151 kB)
     |████████████████████████████████| 151 kB 197 kB/s
Collecting pyserial==3.*
  Downloading pyserial-3.5-py2.py3-none-any.whl (90 kB)
     |████████████████████████████████| 90 kB 287 kB/s
Collecting requests==2.*
  Downloading requests-2.25.1-py2.py3-none-any.whl (61 kB)
     |████████████████████████████████| 61 kB 207 kB/s
Collecting semantic_version==2.8.*
  Downloading semantic_version-2.8.5-py2.py3-none-any.whl (15 kB)
Collecting tabulate==0.8.*
  Downloading tabulate-0.8.9-py3-none-any.whl (25 kB)
Collecting zeroconf==0.28.*
  Downloading zeroconf-0.28.8-py3-none-any.whl (55 kB)
     |████████████████████████████████| 55 kB 232 kB/s
Collecting aiofiles==0.6.*
  Downloading aiofiles-0.6.0-py3-none-any.whl (11 kB)
Collecting json-rpc==1.13.*
  Downloading json_rpc-1.13.0-py2.py3-none-any.whl (41 kB)
     |████████████████████████████████| 41 kB 57 kB/s
Collecting starlette==0.14.*
  Downloading starlette-0.14.2-py3-none-any.whl (60 kB)
     |████████████████████████████████| 60 kB 246 kB/s
Collecting uvicorn==0.13.*
  Downloading uvicorn-0.13.4-py3-none-any.whl (46 kB)
     |████████████████████████████████| 46 kB 382 kB/s
Collecting wsproto==1.0.*
  Downloading wsproto-1.0.0-py3-none-any.whl (24 kB)
Collecting chardet<5,>=3.0.2
  Downloading chardet-4.0.0-py2.py3-none-any.whl (178 kB)
     |████████████████████████████████| 178 kB 330 kB/s
Collecting idna<3,>=2.5
  Downloading idna-2.10-py2.py3-none-any.whl (58 kB)
     |████████████████████████████████| 58 kB 373 kB/s
Collecting urllib3<1.27,>=1.21.1
  Downloading urllib3-1.26.4-py2.py3-none-any.whl (153 kB)
     |████████████████████████████████| 153 kB 297 kB/s
Collecting certifi>=2017.4.17
  Downloading certifi-2020.12.5-py2.py3-none-any.whl (147 kB)
     |████████████████████████████████| 147 kB 153 kB/s
Collecting typing-extensions
  Downloading typing_extensions-3.7.4.3-py3-none-any.whl (22 kB)
Collecting h11>=0.8
  Downloading h11-0.12.0-py3-none-any.whl (54 kB)
     |████████████████████████████████| 54 kB 471 kB/s
Collecting ifaddr>=0.1.7
  Downloading ifaddr-0.1.7-py2.py3-none-any.whl (10 kB)
Building wheels for collected packages: platformio
  Building wheel for platformio (setup.py) ... done
  Created wheel for platformio: filename=platformio-5.1.0-py3-none-any.whl size=332285 sha256=ddce21e1036a9d64bddb35fbd287a0cc05a101a7422d552a20ffdbec883686fd
  Stored in directory: /home/pi/.cache/pip/wheels/fb/74/c7/99c19bb8f3a2eb7a6a9d2b3703b22a6204cb328e92b5cd5911
Successfully built platformio
Installing collected packages: urllib3, typing-extensions, ifaddr, idna, h11, click, chardet, certifi, zeroconf, wsproto, uvicorn, tabulate, starlette, semantic-version, requests, pyserial, pyelftools, marshmallow, json-rpc, colorama, bottle, aiofiles, platformio
Successfully installed aiofiles-0.6.0 bottle-0.12.19 certifi-2020.12.5 chardet-4.0.0 click-7.1.2 colorama-0.4.4 h11-0.12.0 idna-2.10 ifaddr-0.1.7 json-rpc-1.13.0 marshmallow-3.10.0 platformio-5.1.0 pyelftools-0.27 pyserial-3.5 requests-2.25.1 semantic-version-2.8.5 starlette-0.14.2 tabulate-0.8.9 typing-extensions-3.7.4.3 urllib3-1.26.4 uvicorn-0.13.4 wsproto-1.0.0 zeroconf-0.28.8

PlatformIO Core has been successfully installed into an isolated environment `/home/pi/.platformio/penv`!

The full path to `platformio.exe` is `/home/pi/.platformio/penv/bin/platformio`

If you need an access to `platformio.exe` from other applications, please install Shell Commands
(add PlatformIO Core binary directory `/home/pi/.platformio/penv/bin` to the system environment PATH variable):

See https://docs.platformio.org/page/installation.html#install-shell-commands

pi@raspberrypi:~ $ export PATH=/home/pi/.platformio/penv/bin:$PATH


pi@raspberrypi:~ $ pio remote agent start
*************************************************************************************************************************************************************************************
If you like PlatformIO, please:
- follow us on Twitter to stay up-to-date on the latest project news > https://twitter.com/PlatformIO_Org
- star it on GitHub > https://github.com/platformio/platformio
- try PlatformIO IDE for embedded development > https://platformio.org/platformio-ide
*************************************************************************************************************************************************************************************

Tool Manager: Installing platformio/contrib-pysite @ ~2.37.0
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
Tool Manager: contrib-pysite @ 2.37.191020 has been installed!
Collecting twisted==20.3.0
  Downloading Twisted-20.3.0.tar.bz2 (3.1 MB)
     |████████████████████████████████| 3.1 MB 820 kB/s
Collecting zope.interface>=4.4.2
  Downloading zope.interface-5.2.0.tar.gz (227 kB)
     |████████████████████████████████| 227 kB 575 kB/s
Collecting constantly>=15.1
  Downloading constantly-15.1.0.tar.gz (21 kB)
Collecting incremental>=16.10.1
  Downloading incremental-21.3.0.tar.gz (17 kB)
Collecting Automat>=0.3.0
  Downloading Automat-20.2.0.tar.gz (61 kB)
     |████████████████████████████████| 61 kB 59 kB/s
Collecting hyperlink>=17.1.1
  Downloading hyperlink-21.0.0.tar.gz (140 kB)
     |████████████████████████████████| 140 kB 599 kB/s
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Collecting PyHamcrest!=1.10.0,>=1.9.0
  Downloading PyHamcrest-2.0.2.tar.gz (44 kB)
     |████████████████████████████████| 44 kB 212 kB/s
Collecting attrs>=19.2.0
  Downloading attrs-20.3.0.tar.gz (164 kB)
     |████████████████████████████████| 164 kB 204 kB/s
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Collecting six
  Downloading six-1.15.0.tar.gz (33 kB)
Collecting idna>=2.5
  Downloading idna-3.1.tar.gz (181 kB)
     |████████████████████████████████| 181 kB 230 kB/s
Collecting setuptools
  Using cached setuptools-54.1.2.tar.gz (2.1 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Skipping wheel build for twisted, due to binaries being disabled for it.
Skipping wheel build for Automat, due to binaries being disabled for it.
Skipping wheel build for constantly, due to binaries being disabled for it.
Skipping wheel build for idna, due to binaries being disabled for it.
Skipping wheel build for incremental, due to binaries being disabled for it.
Skipping wheel build for PyHamcrest, due to binaries being disabled for it.
Skipping wheel build for zope.interface, due to binaries being disabled for it.
Skipping wheel build for six, due to binaries being disabled for it.
Building wheels for collected packages: attrs, hyperlink, setuptools
  Building wheel for attrs (PEP 517) ... done
  Created wheel for attrs: filename=attrs-20.3.0-py2.py3-none-any.whl size=49336 sha256=e93c6289bf6edca5ab1f1cbe74c8903e7dc82c7d8a090748d62e84cf4897388d
  Stored in directory: /home/pi/.cache/pip/wheels/a3/97/8f/66c1f6349d2edefbcedb90cb11548b201eff59c0d74c474ad9
  Building wheel for hyperlink (PEP 517) ... done
  Created wheel for hyperlink: filename=hyperlink-21.0.0-py2.py3-none-any.whl size=74638 sha256=608648dbbf0dd55170c323f96eb5d4d3bcb90b8b93372adde0b1d5be689d0717
  Stored in directory: /home/pi/.cache/pip/wheels/88/de/19/cb72b4d9352212aa72590f091be9d29c2ae597def937977879
  Building wheel for setuptools (PEP 517) ... done
  Created wheel for setuptools: filename=setuptools-54.1.2-py3-none-any.whl size=785007 sha256=883259a6e5b42017e5e921bb3dccbbd4ca0c7e915180ebc86cce2b13e8f7acc9
  Stored in directory: /home/pi/.cache/pip/wheels/77/6c/9c/a932d7b60e7bce4716cd528fe848cdcb50448006fb87ebb021
Successfully built attrs hyperlink setuptools
Installing collected packages: six, setuptools, idna, attrs, zope.interface, PyHamcrest, incremental, hyperlink, constantly, Automat, twisted
    Running setup.py install for six ... done
    Running setup.py install for idna ... done
    Running setup.py install for zope.interface ... done
    Running setup.py install for PyHamcrest ... done
    Running setup.py install for incremental ... done
    Running setup.py install for constantly ... done
    Running setup.py install for Automat ... done
    Running setup.py install for twisted ... done
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
requests 2.25.1 requires idna<3,>=2.5, but you have idna 3.1 which is incompatible.
Successfully installed Automat-20.2.0 PyHamcrest-2.0.2 attrs-20.3.0 constantly-15.1.0 hyperlink-21.0.0 idna-3.1 incremental-21.3.0 setuptools-54.1.2 six-1.15.0 twisted-20.3.0 zope.interface-5.2.0
Collecting pyopenssl>=16.0.0
  Downloading pyOpenSSL-20.0.1.tar.gz (173 kB)
     |████████████████████████████████| 173 kB 217 kB/s
Collecting cryptography>=3.2
  Downloading cryptography-3.4.6.tar.gz (546 kB)
     |████████████████████████████████| 546 kB 106 kB/s
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Collecting six>=1.5.2
  Using cached six-1.15.0.tar.gz (33 kB)
Collecting cffi>=1.12
  Using cached cffi-1.14.5.tar.gz (475 kB)
Collecting pycparser
  Using cached pycparser-2.20.tar.gz (161 kB)
Skipping wheel build for pyopenssl, due to binaries being disabled for it.
Skipping wheel build for cffi, due to binaries being disabled for it.
Skipping wheel build for six, due to binaries being disabled for it.
Skipping wheel build for pycparser, due to binaries being disabled for it.
Building wheels for collected packages: cryptography
  Building wheel for cryptography (PEP 517) ... error
  ERROR: Command errored out with exit status 1:
   command: /home/pi/.platformio/penv/bin/python /home/pi/.platformio/penv/lib/python3.7/site-packages/pip/_vendor/pep517/_in_process.py build_wheel /tmp/tmp1y2c6e4z
       cwd: /tmp/pip-install-2oe12y68/cryptography_e654c7a11454416bbb4a406acf88c433
  Complete output (161 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-armv7l-3.7
  creating build/lib.linux-armv7l-3.7/cryptography
  copying src/cryptography/utils.py -> build/lib.linux-armv7l-3.7/cryptography
  copying src/cryptography/fernet.py -> build/lib.linux-armv7l-3.7/cryptography
  copying src/cryptography/exceptions.py -> build/lib.linux-armv7l-3.7/cryptography
  copying src/cryptography/__about__.py -> build/lib.linux-armv7l-3.7/cryptography
  copying src/cryptography/__init__.py -> build/lib.linux-armv7l-3.7/cryptography
  creating build/lib.linux-armv7l-3.7/cryptography/x509
  copying src/cryptography/x509/oid.py -> build/lib.linux-armv7l-3.7/cryptography/x509
  copying src/cryptography/x509/ocsp.py -> build/lib.linux-armv7l-3.7/cryptography/x509
  copying src/cryptography/x509/certificate_transparency.py -> build/lib.linux-armv7l-3.7/cryptography/x509
  copying src/cryptography/x509/name.py -> build/lib.linux-armv7l-3.7/cryptography/x509
  copying src/cryptography/x509/general_name.py -> build/lib.linux-armv7l-3.7/cryptography/x509
  copying src/cryptography/x509/extensions.py -> build/lib.linux-armv7l-3.7/cryptography/x509
  copying src/cryptography/x509/base.py -> build/lib.linux-armv7l-3.7/cryptography/x509
  copying src/cryptography/x509/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/x509
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat
  copying src/cryptography/hazmat/_oid.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat
  copying src/cryptography/hazmat/_types.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat
  copying src/cryptography/hazmat/_der.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat
  copying src/cryptography/hazmat/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings
  copying src/cryptography/hazmat/bindings/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/_asymmetric.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/hmac.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/hashes.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/poly1305.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/_serialization.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/keywrap.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/constant_time.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/cmac.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/_cipheralgorithm.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/padding.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/backends
  copying src/cryptography/hazmat/backends/interfaces.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends
  copying src/cryptography/hazmat/backends/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings/openssl
  copying src/cryptography/hazmat/bindings/openssl/binding.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings/openssl
  copying src/cryptography/hazmat/bindings/openssl/_conditional.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings/openssl
  copying src/cryptography/hazmat/bindings/openssl/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings/openssl
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/algorithms.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/aead.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/base.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/modes.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/concatkdf.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/x963kdf.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/kbkdf.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/pbkdf2.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/hkdf.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/scrypt.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/twofactor
  copying src/cryptography/hazmat/primitives/twofactor/utils.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/twofactor
  copying src/cryptography/hazmat/primitives/twofactor/totp.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/twofactor
  copying src/cryptography/hazmat/primitives/twofactor/hotp.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/twofactor
  copying src/cryptography/hazmat/primitives/twofactor/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/twofactor
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/ed448.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/rsa.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/utils.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/ec.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/dh.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/x448.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/dsa.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/ed25519.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/x25519.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/padding.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/pkcs12.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/pkcs7.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/base.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/ssh.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ed448.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ocsp.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/rsa.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/utils.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ciphers.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/hmac.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/encode_asn1.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ec.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/aead.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/decode_asn1.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/hashes.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/poly1305.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/dh.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/x448.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/backend.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/dsa.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ed25519.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/x25519.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/cmac.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/x509.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  running egg_info
  writing src/cryptography.egg-info/PKG-INFO
  writing dependency_links to src/cryptography.egg-info/dependency_links.txt
  writing requirements to src/cryptography.egg-info/requires.txt
  writing top-level names to src/cryptography.egg-info/top_level.txt
  reading manifest file 'src/cryptography.egg-info/SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  no previously-included directories found matching 'docs/_build'
  warning: no previously-included files found matching 'vectors'
  warning: no previously-included files matching '*' found under directory 'vectors'
  warning: no previously-included files matching '*' found under directory '.github'
  warning: no previously-included files found matching 'release.py'
  warning: no previously-included files found matching '.coveragerc'
  warning: no previously-included files found matching 'codecov.yml'
  warning: no previously-included files found matching '.readthedocs.yml'
  warning: no previously-included files found matching 'dev-requirements.txt'
  warning: no previously-included files found matching 'tox.ini'
  warning: no previously-included files found matching 'mypy.ini'
  warning: no previously-included files matching '*' found under directory '.zuul.d'
  warning: no previously-included files matching '*' found under directory '.zuul.playbooks'
  writing manifest file 'src/cryptography.egg-info/SOURCES.txt'
  copying src/cryptography/py.typed -> build/lib.linux-armv7l-3.7/cryptography
  running build_ext
  generating cffi module 'build/temp.linux-armv7l-3.7/_padding.c'
  creating build/temp.linux-armv7l-3.7
  generating cffi module 'build/temp.linux-armv7l-3.7/_openssl.c'
  running build_rust

      =============================DEBUG ASSISTANCE=============================
      If you are seeing a compilation error please try the following steps to
      successfully install cryptography:
      1) Upgrade to the latest pip and try again. This will fix errors for most
         users. See: https://pip.pypa.io/en/stable/installing/#upgrading-pip
      2) Read https://cryptography.io/en/latest/installation.html for specific
         instructions for your platform.
      3) Check our frequently asked questions for more information:
         https://cryptography.io/en/latest/faq.html
      4) Ensure you have a recent Rust toolchain installed:
         https://cryptography.io/en/latest/installation.html#rust
      5) If you are experiencing issues with Rust for *this release only* you may
         set the environment variable `CRYPTOGRAPHY_DONT_BUILD_RUST=1`.
      =============================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
Failed to build cryptography
ERROR: Could not build wheels for cryptography which use PEP 517 and cannot be installed directly
Error: Traceback (most recent call last):
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/platformio/package/manager/core.py", line 127, in inject_contrib_pysite
    from OpenSSL import SSL
  File "/home/pi/.platformio/packages/contrib-pysite/OpenSSL/__init__.py", line 8, in <module>
  File "/home/pi/.platformio/packages/contrib-pysite/OpenSSL/crypto.py", line 12, in <module>
  File "/home/pi/.platformio/packages/contrib-pysite/cryptography/x509/__init__.py", line 8, in <module>
  File "/home/pi/.platformio/packages/contrib-pysite/cryptography/x509/base.py", line 18, in <module>
  File "/home/pi/.platformio/packages/contrib-pysite/cryptography/x509/extensions.py", line 20, in <module>
  File "/home/pi/.platformio/packages/contrib-pysite/cryptography/hazmat/primitives/constant_time.py", line 11, in <module>
ImportError: /home/pi/.platformio/packages/contrib-pysite/cryptography/hazmat/bindings/_constant_time.abi3.so: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/platformio/__main__.py", line 109, in main
    cli()  # pylint: disable=no-value-for-parameter
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/platformio/commands/__init__.py", line 44, in invoke
    return super(PlatformioCLI, self).invoke(ctx)
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/click/core.py", line 1256, in invoke
    Command.invoke(self, ctx)
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/click/decorators.py", line 21, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/platformio/commands/remote/command.py", line 42, in cli
    inject_contrib_pysite(verify_openssl=True)
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/platformio/package/manager/core.py", line 129, in inject_contrib_pysite
    build_contrib_pysite_package(contrib_pysite_dir)
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/platformio/package/manager/core.py", line 153, in build_contrib_pysite_package
    subprocess.check_call(args + [dep])
  File "/usr/lib/python3.7/subprocess.py", line 347, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/home/pi/.platformio/penv/bin/python', '-m', 'pip', 'install', '--no-compile', '-t', '/home/pi/.platformio/packages/contrib-pysite', '--no-binary', ':all:', 'pyopenssl >= 16.0.0']' returned non-zero exit status 1.

============================================================

An unexpected error occurred. Further steps:

* Verify that you have the latest version of PlatformIO using
  `pip install -U platformio` command

* Try to find answer in FAQ Troubleshooting section
  https://docs.platformio.org/page/faq.html

* Report this problem to the developers
  https://github.com/platformio/platformio-core/issues

============================================================

pi@raspberrypi:~ $
pi@raspberrypi:~ $
pi@raspberrypi:~ $
pi@raspberrypi:~ $
pi@raspberrypi:~ $
pi@raspberrypi:~ $
pi@raspberrypi:~ $
pi@raspberrypi:~ $
pi@raspberrypi:~ $ pio upgrade --dev
Please wait while upgrading PlatformIO ...
PlatformIO has been successfully upgraded to 5.1.1b1
Release notes: https://docs.platformio.org/en/latest/history.html
pi@raspberrypi:~ $
pi@raspberrypi:~ $
pi@raspberrypi:~ $
pi@raspberrypi:~ $ pio remote agent start
Please wait while upgrading PlatformIO...
PlatformIO has been successfully upgraded to 5.1.1b1!

*************************************************************************************************************************************************************************************
If you like PlatformIO, please:
- follow us on Twitter to stay up-to-date on the latest project news > https://twitter.com/PlatformIO_Org
- star it on GitHub > https://github.com/platformio/platformio
- try PlatformIO IDE for embedded development > https://platformio.org/platformio-ide
*************************************************************************************************************************************************************************************

Tool Manager: Installing platformio/contrib-pysite @ ~2.37.0
Unpacking  [####################################]  100%
Tool Manager: contrib-pysite @ 2.37.191020 has been installed!
Collecting twisted==20.3.0
  Using cached Twisted-20.3.0.tar.bz2 (3.1 MB)
Collecting zope.interface>=4.4.2
  Using cached zope.interface-5.2.0.tar.gz (227 kB)
Collecting constantly>=15.1
  Using cached constantly-15.1.0.tar.gz (21 kB)
Collecting incremental>=16.10.1
  Using cached incremental-21.3.0.tar.gz (17 kB)
Collecting Automat>=0.3.0
  Using cached Automat-20.2.0.tar.gz (61 kB)
Collecting hyperlink>=17.1.1
  Using cached hyperlink-21.0.0.tar.gz (140 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Collecting PyHamcrest!=1.10.0,>=1.9.0
  Using cached PyHamcrest-2.0.2.tar.gz (44 kB)
Collecting attrs>=19.2.0
  Using cached attrs-20.3.0.tar.gz (164 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Collecting six
  Using cached six-1.15.0.tar.gz (33 kB)
Collecting idna>=2.5
  Using cached idna-3.1.tar.gz (181 kB)
Collecting setuptools
  Using cached setuptools-54.1.2.tar.gz (2.1 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Skipping wheel build for twisted, due to binaries being disabled for it.
Skipping wheel build for Automat, due to binaries being disabled for it.
Skipping wheel build for constantly, due to binaries being disabled for it.
Skipping wheel build for idna, due to binaries being disabled for it.
Skipping wheel build for incremental, due to binaries being disabled for it.
Skipping wheel build for PyHamcrest, due to binaries being disabled for it.
Skipping wheel build for zope.interface, due to binaries being disabled for it.
Skipping wheel build for six, due to binaries being disabled for it.
Building wheels for collected packages: attrs, hyperlink, setuptools
  Building wheel for attrs (PEP 517) ... done
  Created wheel for attrs: filename=attrs-20.3.0-py2.py3-none-any.whl size=49336 sha256=98932428c628f8b2b2f7b67a9b381a81072ef5b7eac99c55fe0cf77215365a35
  Stored in directory: /home/pi/.cache/pip/wheels/a3/97/8f/66c1f6349d2edefbcedb90cb11548b201eff59c0d74c474ad9
  Building wheel for hyperlink (PEP 517) ... done
  Created wheel for hyperlink: filename=hyperlink-21.0.0-py2.py3-none-any.whl size=74638 sha256=3df7f65d164a089cec1973874c174201f88e101a6d9c8cba6bf66d2dcd9b42bc
  Stored in directory: /home/pi/.cache/pip/wheels/88/de/19/cb72b4d9352212aa72590f091be9d29c2ae597def937977879
  Building wheel for setuptools (PEP 517) ... done
  Created wheel for setuptools: filename=setuptools-54.1.2-py3-none-any.whl size=785007 sha256=6b0edb8e2e3b22eae8b03d8c6534420c9b1d660ab1aaa9ff149c04345816dfce
  Stored in directory: /home/pi/.cache/pip/wheels/77/6c/9c/a932d7b60e7bce4716cd528fe848cdcb50448006fb87ebb021
Successfully built attrs hyperlink setuptools
Installing collected packages: six, setuptools, idna, attrs, zope.interface, PyHamcrest, incremental, hyperlink, constantly, Automat, twisted
    Running setup.py install for six ... done
    Running setup.py install for idna ... done
    Running setup.py install for zope.interface ... done
    Running setup.py install for PyHamcrest ... done
    Running setup.py install for incremental ... done
    Running setup.py install for constantly ... done
    Running setup.py install for Automat ... done
    Running setup.py install for twisted ... done
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
requests 2.25.1 requires idna<3,>=2.5, but you have idna 3.1 which is incompatible.
Successfully installed Automat-20.2.0 PyHamcrest-2.0.2 attrs-20.3.0 constantly-15.1.0 hyperlink-21.0.0 idna-3.1 incremental-21.3.0 setuptools-54.1.2 six-1.15.0 twisted-20.3.0 zope.interface-5.2.0
Collecting pyopenssl>=16.0.0
  Using cached pyOpenSSL-20.0.1.tar.gz (173 kB)
Collecting cryptography>=3.2
  Using cached cryptography-3.4.6.tar.gz (546 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Collecting six>=1.5.2
  Using cached six-1.15.0.tar.gz (33 kB)
Collecting cffi>=1.12
  Using cached cffi-1.14.5.tar.gz (475 kB)
Collecting pycparser
  Using cached pycparser-2.20.tar.gz (161 kB)
Skipping wheel build for pyopenssl, due to binaries being disabled for it.
Skipping wheel build for cffi, due to binaries being disabled for it.
Skipping wheel build for six, due to binaries being disabled for it.
Skipping wheel build for pycparser, due to binaries being disabled for it.
Building wheels for collected packages: cryptography
  Building wheel for cryptography (PEP 517) ... error
  ERROR: Command errored out with exit status 1:
   command: /home/pi/.platformio/penv/bin/python /home/pi/.platformio/penv/lib/python3.7/site-packages/pip/_vendor/pep517/_in_process.py build_wheel /tmp/tmpf27gykta
       cwd: /tmp/pip-install-576gvidv/cryptography_a49d60aca9b14f588e0a0a40e7ec8c00
  Complete output (156 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-armv7l-3.7
  creating build/lib.linux-armv7l-3.7/cryptography
  copying src/cryptography/utils.py -> build/lib.linux-armv7l-3.7/cryptography
  copying src/cryptography/fernet.py -> build/lib.linux-armv7l-3.7/cryptography
  copying src/cryptography/exceptions.py -> build/lib.linux-armv7l-3.7/cryptography
  copying src/cryptography/__about__.py -> build/lib.linux-armv7l-3.7/cryptography
  copying src/cryptography/__init__.py -> build/lib.linux-armv7l-3.7/cryptography
  creating build/lib.linux-armv7l-3.7/cryptography/x509
  copying src/cryptography/x509/oid.py -> build/lib.linux-armv7l-3.7/cryptography/x509
  copying src/cryptography/x509/ocsp.py -> build/lib.linux-armv7l-3.7/cryptography/x509
  copying src/cryptography/x509/certificate_transparency.py -> build/lib.linux-armv7l-3.7/cryptography/x509
  copying src/cryptography/x509/name.py -> build/lib.linux-armv7l-3.7/cryptography/x509
  copying src/cryptography/x509/general_name.py -> build/lib.linux-armv7l-3.7/cryptography/x509
  copying src/cryptography/x509/extensions.py -> build/lib.linux-armv7l-3.7/cryptography/x509
  copying src/cryptography/x509/base.py -> build/lib.linux-armv7l-3.7/cryptography/x509
  copying src/cryptography/x509/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/x509
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat
  copying src/cryptography/hazmat/_oid.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat
  copying src/cryptography/hazmat/_types.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat
  copying src/cryptography/hazmat/_der.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat
  copying src/cryptography/hazmat/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings
  copying src/cryptography/hazmat/bindings/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/_asymmetric.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/hmac.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/hashes.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/poly1305.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/_serialization.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/keywrap.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/constant_time.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/cmac.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/_cipheralgorithm.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/padding.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/backends
  copying src/cryptography/hazmat/backends/interfaces.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends
  copying src/cryptography/hazmat/backends/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings/openssl
  copying src/cryptography/hazmat/bindings/openssl/binding.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings/openssl
  copying src/cryptography/hazmat/bindings/openssl/_conditional.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings/openssl
  copying src/cryptography/hazmat/bindings/openssl/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/bindings/openssl
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/algorithms.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/aead.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/base.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/modes.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/ciphers
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/concatkdf.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/x963kdf.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/kbkdf.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/pbkdf2.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/hkdf.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/scrypt.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/kdf
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/twofactor
  copying src/cryptography/hazmat/primitives/twofactor/utils.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/twofactor
  copying src/cryptography/hazmat/primitives/twofactor/totp.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/twofactor
  copying src/cryptography/hazmat/primitives/twofactor/hotp.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/twofactor
  copying src/cryptography/hazmat/primitives/twofactor/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/twofactor
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/ed448.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/rsa.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/utils.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/ec.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/dh.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/x448.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/dsa.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/ed25519.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/x25519.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/padding.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/asymmetric
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/pkcs12.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/pkcs7.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/base.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/ssh.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/primitives/serialization
  creating build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ed448.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ocsp.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/rsa.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/utils.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ciphers.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/hmac.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/encode_asn1.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ec.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/aead.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/decode_asn1.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/hashes.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/poly1305.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/dh.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/x448.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/backend.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/dsa.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ed25519.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/x25519.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/cmac.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/__init__.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/x509.py -> build/lib.linux-armv7l-3.7/cryptography/hazmat/backends/openssl
  running egg_info
  writing src/cryptography.egg-info/PKG-INFO
  writing dependency_links to src/cryptography.egg-info/dependency_links.txt
  writing requirements to src/cryptography.egg-info/requires.txt
  writing top-level names to src/cryptography.egg-info/top_level.txt
  reading manifest file 'src/cryptography.egg-info/SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  no previously-included directories found matching 'docs/_build'
  warning: no previously-included files found matching 'vectors'
  warning: no previously-included files matching '*' found under directory 'vectors'
  warning: no previously-included files matching '*' found under directory '.github'
  warning: no previously-included files found matching 'release.py'
  warning: no previously-included files found matching '.coveragerc'
  warning: no previously-included files found matching 'codecov.yml'
  warning: no previously-included files found matching '.readthedocs.yml'
  warning: no previously-included files found matching 'dev-requirements.txt'
  warning: no previously-included files found matching 'tox.ini'
  warning: no previously-included files found matching 'mypy.ini'
  warning: no previously-included files matching '*' found under directory '.zuul.d'
  warning: no previously-included files matching '*' found under directory '.zuul.playbooks'
  writing manifest file 'src/cryptography.egg-info/SOURCES.txt'
  copying src/cryptography/py.typed -> build/lib.linux-armv7l-3.7/cryptography
  running build_ext
  generating cffi module 'build/temp.linux-armv7l-3.7/_padding.c'
  creating build/temp.linux-armv7l-3.7
  generating cffi module 'build/temp.linux-armv7l-3.7/_openssl.c'
  building '_openssl' extension
  creating build/temp.linux-armv7l-3.7/build
  creating build/temp.linux-armv7l-3.7/build/temp.linux-armv7l-3.7
  arm-linux-gnueabihf-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/home/pi/.platformio/penv/include -I/usr/include/python3.7m -c build/temp.linux-armv7l-3.7/_openssl.c -o build/temp.linux-armv7l-3.7/build/temp.linux-armv7l-3.7/_openssl.o -Wconversion -Wno-error=sign-conversion
  build/temp.linux-armv7l-3.7/_openssl.c:575:10: fatal error: openssl/opensslv.h: No such file or directory
   #include <openssl/opensslv.h>
            ^~~~~~~~~~~~~~~~~~~~
  compilation terminated.

      =============================DEBUG ASSISTANCE=============================
      If you are seeing a compilation error please try the following steps to
      successfully install cryptography:
      1) Upgrade to the latest pip and try again. This will fix errors for most
         users. See: https://pip.pypa.io/en/stable/installing/#upgrading-pip
      2) Read https://cryptography.io/en/latest/installation.html for specific
         instructions for your platform.
      3) Check our frequently asked questions for more information:
         https://cryptography.io/en/latest/faq.html
      4) Ensure you have a recent Rust toolchain installed:
         https://cryptography.io/en/latest/installation.html#rust
      5) If you are experiencing issues with Rust for *this release only* you may
         set the environment variable `CRYPTOGRAPHY_DONT_BUILD_RUST=1`.
      =============================DEBUG ASSISTANCE=============================

  error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1
  ----------------------------------------
  ERROR: Failed building wheel for cryptography
Failed to build cryptography
ERROR: Could not build wheels for cryptography which use PEP 517 and cannot be installed directly
Error: Traceback (most recent call last):
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/platformio/package/manager/core.py", line 127, in inject_contrib_pysite
    from OpenSSL import SSL
  File "/home/pi/.platformio/packages/contrib-pysite/OpenSSL/__init__.py", line 8, in <module>
  File "/home/pi/.platformio/packages/contrib-pysite/OpenSSL/crypto.py", line 12, in <module>
  File "/home/pi/.platformio/packages/contrib-pysite/cryptography/x509/__init__.py", line 8, in <module>
  File "/home/pi/.platformio/packages/contrib-pysite/cryptography/x509/base.py", line 18, in <module>
  File "/home/pi/.platformio/packages/contrib-pysite/cryptography/x509/extensions.py", line 20, in <module>
  File "/home/pi/.platformio/packages/contrib-pysite/cryptography/hazmat/primitives/constant_time.py", line 11, in <module>
ImportError: /home/pi/.platformio/packages/contrib-pysite/cryptography/hazmat/bindings/_constant_time.abi3.so: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/platformio/__main__.py", line 109, in main
    cli()  # pylint: disable=no-value-for-parameter
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/platformio/commands/__init__.py", line 44, in invoke
    return super(PlatformioCLI, self).invoke(ctx)
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/click/core.py", line 1256, in invoke
    Command.invoke(self, ctx)
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/click/decorators.py", line 21, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/platformio/commands/remote/command.py", line 42, in cli
    inject_contrib_pysite(verify_openssl=True)
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/platformio/package/manager/core.py", line 129, in inject_contrib_pysite
    build_contrib_pysite_package(contrib_pysite_dir)
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/platformio/package/manager/core.py", line 156, in build_contrib_pysite_package
    subprocess.check_call(args + [dep])
  File "/usr/lib/python3.7/subprocess.py", line 347, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/home/pi/.platformio/penv/bin/python', '-m', 'pip', 'install', '--no-compile', '-t', '/home/pi/.platformio/packages/contrib-pysite', '--no-binary', ':all:', 'pyopenssl >= 16.0.0']' returned non-zero exit status 1.

============================================================

An unexpected error occurred. Further steps:

* Verify that you have the latest version of PlatformIO using
  `pip install -U platformio` command

* Try to find answer in FAQ Troubleshooting section
  https://docs.platformio.org/page/faq.html

* Report this problem to the developers
  https://github.com/platformio/platformio-core/issues

============================================================

pi@raspberrypi:~ $

@ivankravets
Copy link
Member

You need to have the next dependent packages:

sudo apt install python3-dev libssl-dev libffi-dev

Could you try to install the packages above and restart PlatformIO Remote agent?

@lkankowski
Copy link
Author

Unfortunately:

pi@raspberrypi:~ $ sudo apt install python3-dev libssl-dev libffi-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
libffi-dev is already the newest version (3.2.1-9).
python3-dev is already the newest version (3.7.3-1).
Suggested packages:
  libssl-doc
The following NEW packages will be installed:
  libssl-dev
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 1,584 kB of archives.
After this operation, 5,938 kB of additional disk space will be used.
Do you want to continue? [Y/n]
Get:1 http://archive.raspberrypi.org/debian buster/main armhf libssl-dev armhf 1.1.1d-0+deb10u5+rpt1 [1,584 kB]
Fetched 1,584 kB in 3s (471 kB/s)
Selecting previously unselected package libssl-dev:armhf.
(Reading database ... 40533 files and directories currently installed.)
Preparing to unpack .../libssl-dev_1.1.1d-0+deb10u5+rpt1_armhf.deb ...
Unpacking libssl-dev:armhf (1.1.1d-0+deb10u5+rpt1) ...
Setting up libssl-dev:armhf (1.1.1d-0+deb10u5+rpt1) ...


pi@raspberrypi:~ $ pio upgrade --dev
Please wait while upgrading PlatformIO ...
PlatformIO has been successfully upgraded to 5.1.1b1
Release notes: https://docs.platformio.org/en/latest/history.html
pi@raspberrypi:~ $ pio remote agent start
Tool Manager: Installing platformio/contrib-pysite @ ~2.37.0
Unpacking  [####################################]  100%
Tool Manager: contrib-pysite @ 2.37.191020 has been installed!
Collecting twisted==20.3.0
  Using cached Twisted-20.3.0.tar.bz2 (3.1 MB)
Collecting zope.interface>=4.4.2
  Using cached zope.interface-5.2.0.tar.gz (227 kB)
Collecting constantly>=15.1
  Using cached constantly-15.1.0.tar.gz (21 kB)
Collecting incremental>=16.10.1
  Using cached incremental-21.3.0.tar.gz (17 kB)
Collecting Automat>=0.3.0
  Using cached Automat-20.2.0.tar.gz (61 kB)
Collecting hyperlink>=17.1.1
  Using cached hyperlink-21.0.0.tar.gz (140 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Collecting PyHamcrest!=1.10.0,>=1.9.0
  Using cached PyHamcrest-2.0.2.tar.gz (44 kB)
Collecting attrs>=19.2.0
  Using cached attrs-20.3.0.tar.gz (164 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Collecting six
  Using cached six-1.15.0.tar.gz (33 kB)
Collecting idna>=2.5
  Using cached idna-3.1.tar.gz (181 kB)
Collecting setuptools
  Using cached setuptools-54.1.2.tar.gz (2.1 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Skipping wheel build for twisted, due to binaries being disabled for it.
Skipping wheel build for Automat, due to binaries being disabled for it.
Skipping wheel build for constantly, due to binaries being disabled for it.
Skipping wheel build for idna, due to binaries being disabled for it.
Skipping wheel build for incremental, due to binaries being disabled for it.
Skipping wheel build for PyHamcrest, due to binaries being disabled for it.
Skipping wheel build for zope.interface, due to binaries being disabled for it.
Skipping wheel build for six, due to binaries being disabled for it.
Building wheels for collected packages: attrs, hyperlink, setuptools
  Building wheel for attrs (PEP 517) ... done
  Created wheel for attrs: filename=attrs-20.3.0-py2.py3-none-any.whl size=49336 sha256=3c055812979134daa9c06606656642faa22f8c8729534f7d3bdd3fdeff439806
  Stored in directory: /home/pi/.cache/pip/wheels/a3/97/8f/66c1f6349d2edefbcedb90cb11548b201eff59c0d74c474ad9
  Building wheel for hyperlink (PEP 517) ... done
  Created wheel for hyperlink: filename=hyperlink-21.0.0-py2.py3-none-any.whl size=74638 sha256=dd162621e28b024c4bb68cf66afea25a8f51c8b179d6329659c5ded121a32fa6
  Stored in directory: /home/pi/.cache/pip/wheels/88/de/19/cb72b4d9352212aa72590f091be9d29c2ae597def937977879
  Building wheel for setuptools (PEP 517) ... done
  Created wheel for setuptools: filename=setuptools-54.1.2-py3-none-any.whl size=785007 sha256=05a808e014e8ac8aebaedbbd927d64399ed6ad0b7baeab92869172b718909c1b
  Stored in directory: /home/pi/.cache/pip/wheels/77/6c/9c/a932d7b60e7bce4716cd528fe848cdcb50448006fb87ebb021
Successfully built attrs hyperlink setuptools
Installing collected packages: six, setuptools, idna, attrs, zope.interface, PyHamcrest, incremental, hyperlink, constantly, Automat, twisted
    Running setup.py install for six ... done
    Running setup.py install for idna ... done
    Running setup.py install for zope.interface ... done
    Running setup.py install for PyHamcrest ... done
    Running setup.py install for incremental ... done
    Running setup.py install for constantly ... done
    Running setup.py install for Automat ... done
    Running setup.py install for twisted ... done
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
requests 2.25.1 requires idna<3,>=2.5, but you have idna 3.1 which is incompatible.
Successfully installed Automat-20.2.0 PyHamcrest-2.0.2 attrs-20.3.0 constantly-15.1.0 hyperlink-21.0.0 idna-3.1 incremental-21.3.0 setuptools-54.1.2 six-1.15.0 twisted-20.3.0 zope.interface-5.2.0
Collecting pyopenssl>=16.0.0
  Using cached pyOpenSSL-20.0.1.tar.gz (173 kB)
Collecting cryptography>=3.2
  Using cached cryptography-3.4.6.tar.gz (546 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Collecting six>=1.5.2
  Using cached six-1.15.0.tar.gz (33 kB)
Collecting cffi>=1.12
  Using cached cffi-1.14.5.tar.gz (475 kB)
Collecting pycparser
  Using cached pycparser-2.20.tar.gz (161 kB)
Skipping wheel build for pyopenssl, due to binaries being disabled for it.
Skipping wheel build for cffi, due to binaries being disabled for it.
Skipping wheel build for six, due to binaries being disabled for it.
Skipping wheel build for pycparser, due to binaries being disabled for it.
Building wheels for collected packages: cryptography
  Building wheel for cryptography (PEP 517) ... done
  Created wheel for cryptography: filename=cryptography-3.4.6-cp37-cp37m-linux_armv7l.whl size=789288 sha256=aa801ad1b84dbb22da892b14308a376b65b57e8adadcc415c5f05f251b5e150f
  Stored in directory: /home/pi/.cache/pip/wheels/2f/1d/33/2191a90edd1b2669b0589eccf26863ea9da3a2ca562c6e4bee
Successfully built cryptography
Installing collected packages: pycparser, cffi, six, cryptography, pyopenssl
    Running setup.py install for pycparser ... done
    Running setup.py install for cffi ... done
    Running setup.py install for six ... done
    Running setup.py install for pyopenssl ... done
Successfully installed cffi-1.14.5 cryptography-3.4.6 pycparser-2.20 pyopenssl-20.0.1 six-1.15.0
WARNING: Target directory /home/pi/.platformio/packages/contrib-pysite/six-1.15.0-py3.7.egg-info already exists. Specify --upgrade to force replacement.
WARNING: Target directory /home/pi/.platformio/packages/contrib-pysite/six.py already exists. Specify --upgrade to force replacement.
Collecting service_identity>=18.1.0
  Downloading service_identity-18.1.0.tar.gz (21 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Collecting cryptography
  Using cached cryptography-3.4.6.tar.gz (546 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Collecting pyasn1
  Downloading pyasn1-0.4.8.tar.gz (146 kB)
     |████████████████████████████████| 146 kB 135 kB/s
Collecting pyasn1-modules
  Downloading pyasn1-modules-0.2.8.tar.gz (242 kB)
     |████████████████████████████████| 242 kB 103 kB/s
Collecting attrs>=16.0.0
  Using cached attrs-20.3.0.tar.gz (164 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Collecting cffi>=1.12
  Using cached cffi-1.14.5.tar.gz (475 kB)
Collecting pycparser
  Using cached pycparser-2.20.tar.gz (161 kB)
Skipping wheel build for cffi, due to binaries being disabled for it.
Skipping wheel build for pyasn1, due to binaries being disabled for it.
Skipping wheel build for pyasn1-modules, due to binaries being disabled for it.
Skipping wheel build for pycparser, due to binaries being disabled for it.
Building wheels for collected packages: service-identity, attrs, cryptography
  Building wheel for service-identity (PEP 517) ... done
  Created wheel for service-identity: filename=service_identity-18.1.0-py2.py3-none-any.whl size=11824 sha256=89a95ac6abc7af41e8cf5758ed5bbb5a19146b22652d2741d3dd1dd882dec990
  Stored in directory: /home/pi/.cache/pip/wheels/02/7b/54/646b84e3421dc15dee695bcb97d9331181865f6e1cfb99cbce
  Building wheel for attrs (PEP 517) ... done
  Created wheel for attrs: filename=attrs-20.3.0-py2.py3-none-any.whl size=49336 sha256=00beab2a20cf7cb25b1f3463082021f08653f25174d1dcdab24488a7e1479661
  Stored in directory: /home/pi/.cache/pip/wheels/a3/97/8f/66c1f6349d2edefbcedb90cb11548b201eff59c0d74c474ad9
  Building wheel for cryptography (PEP 517) ... done
  Created wheel for cryptography: filename=cryptography-3.4.6-cp37-cp37m-linux_armv7l.whl size=789266 sha256=d6d0ea4537a292c36160b244136c4d73867a566e35bfe49837b165e04cc703aa
  Stored in directory: /home/pi/.cache/pip/wheels/2f/1d/33/2191a90edd1b2669b0589eccf26863ea9da3a2ca562c6e4bee
Successfully built service-identity attrs cryptography
Installing collected packages: pycparser, pyasn1, cffi, pyasn1-modules, cryptography, attrs, service-identity
    Running setup.py install for pycparser ... done
    Running setup.py install for pyasn1 ... done
    Running setup.py install for cffi ... done
    Running setup.py install for pyasn1-modules ... done
Successfully installed attrs-20.3.0 cffi-1.14.5 cryptography-3.4.6 pyasn1-0.4.8 pyasn1-modules-0.2.8 pycparser-2.20 service-identity-18.1.0
WARNING: Target directory /home/pi/.platformio/packages/contrib-pysite/cffi already exists. Specify --upgrade to force replacement.
WARNING: Target directory /home/pi/.platformio/packages/contrib-pysite/pycparser already exists. Specify --upgrade to force replacement.
WARNING: Target directory /home/pi/.platformio/packages/contrib-pysite/cryptography already exists. Specify --upgrade to force replacement.
WARNING: Target directory /home/pi/.platformio/packages/contrib-pysite/cffi-1.14.5-py3.7.egg-info already exists. Specify --upgrade to force replacement.
WARNING: Target directory /home/pi/.platformio/packages/contrib-pysite/pycparser-2.20-py3.7.egg-info already exists. Specify --upgrade to force replacement.
WARNING: Target directory /home/pi/.platformio/packages/contrib-pysite/attrs-20.3.0.dist-info already exists. Specify --upgrade to force replacement.
WARNING: Target directory /home/pi/.platformio/packages/contrib-pysite/attr already exists. Specify --upgrade to force replacement.
WARNING: Target directory /home/pi/.platformio/packages/contrib-pysite/cryptography-3.4.6.dist-info already exists. Specify --upgrade to force replacement.
WARNING: Target directory /home/pi/.platformio/packages/contrib-pysite/_cffi_backend.cpython-37m-arm-linux-gnueabihf.so already exists. Specify --upgrade to force replacement.
Collecting idna!=2.3,>=0.6
  Using cached idna-3.1.tar.gz (181 kB)
Skipping wheel build for idna, due to binaries being disabled for it.
Installing collected packages: idna
    Running setup.py install for idna ... done
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
requests 2.25.1 requires idna<3,>=2.5, but you have idna 3.1 which is incompatible.
Successfully installed idna-3.1
WARNING: Target directory /home/pi/.platformio/packages/contrib-pysite/idna already exists. Specify --upgrade to force replacement.
WARNING: Target directory /home/pi/.platformio/packages/contrib-pysite/idna-3.1-py3.7.egg-info already exists. Specify --upgrade to force replacement.
Error: Traceback (most recent call last):
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/platformio/__main__.py", line 109, in main
    cli()  # pylint: disable=no-value-for-parameter
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/platformio/commands/__init__.py", line 44, in invoke
    return super(PlatformioCLI, self).invoke(ctx)
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/platformio/commands/remote/command.py", line 60, in remote_agent_start
    from platformio.commands.remote.client.agent_service import RemoteAgentService
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/platformio/commands/remote/client/agent_service.py", line 25, in <module>
    from platformio.commands.remote.client.base import RemoteClientBase
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/platformio/commands/remote/client/base.py", line 30, in <module>
    from platformio.commands.remote.factory.ssl import SSLContextFactory
  File "/home/pi/.platformio/penv/lib/python3.7/site-packages/platformio/commands/remote/factory/ssl.py", line 16, in <module>
    from OpenSSL import SSL  # pylint: disable=import-error
  File "/home/pi/.platformio/packages/contrib-pysite/OpenSSL/__init__.py", line 8, in <module>
    from OpenSSL import crypto, SSL
  File "/home/pi/.platformio/packages/contrib-pysite/OpenSSL/crypto.py", line 14, in <module>
    from cryptography import utils, x509
  File "/home/pi/.platformio/packages/contrib-pysite/cryptography/x509/__init__.py", line 7, in <module>
    from cryptography.x509.base import (
  File "/home/pi/.platformio/packages/contrib-pysite/cryptography/x509/base.py", line 13, in <module>
    from cryptography.hazmat.backends import _get_backend
ImportError: cannot import name '_get_backend' from 'cryptography.hazmat.backends' (/home/pi/.platformio/packages/contrib-pysite/cryptography/hazmat/backends/__init__.py)

============================================================

An unexpected error occurred. Further steps:

* Verify that you have the latest version of PlatformIO using
  `pip install -U platformio` command

* Try to find answer in FAQ Troubleshooting section
  https://docs.platformio.org/page/faq.html

* Report this problem to the developers
  https://github.com/platformio/platformio-core/issues

============================================================

@ivankravets
Copy link
Member

It seems that the issue has been finally fixed. Please re-test with pio upgrade --dev.

ivankravets added a commit that referenced this issue Dec 14, 2021
@lkankowski
Copy link
Author

Well, now I get following error:

...
Collecting cryptography<35.0.0,>=3.3
  Using cached cryptography-3.4.8.tar.gz (546 kB)
  Installing build dependencies ... error
  ERROR: Command errored out with exit status 1:
   command: /home/pi/.platformio/penv/bin/python /tmp/pip-standalone-pip-lnbu5lkc/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-0soqgyxd/overlay --no-warn-script-location --no-binary :all: --only-binary :none: -i https://pypi.org/simple --extra-index-url https://www.piwheels.org/simple -- 'setuptools>=40.6.0' wheel 'cffi>=1.12; platform_python_implementation != '"'"'PyPy'"'"'' 'setuptools-rust>=0.11.4'
       cwd: None
  Complete output (33 lines):
  Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple, https://www.piwheels.org/simple
  Collecting setuptools>=40.6.0
    Using cached setuptools-59.6.0.tar.gz (2.3 MB)
    Getting requirements to build wheel: started
    Getting requirements to build wheel: finished with status 'done'
    Installing backend dependencies: started
    Installing backend dependencies: finished with status 'done'
    Preparing metadata (pyproject.toml): started
    Preparing metadata (pyproject.toml): finished with status 'done'
  Collecting wheel
    Using cached wheel-0.37.0.tar.gz (65 kB)
    Preparing metadata (setup.py): started
    Preparing metadata (setup.py): finished with status 'done'
  Collecting cffi>=1.12
    Using cached cffi-1.15.0.tar.gz (484 kB)
    Preparing metadata (setup.py): started
    Preparing metadata (setup.py): finished with status 'done'
  Collecting setuptools-rust>=0.11.4
    Using cached setuptools-rust-1.1.2.tar.gz (285 kB)
    Installing build dependencies: started
    Installing build dependencies: still running...
    Installing build dependencies: still running...
    Installing build dependencies: still running...
    Installing build dependencies: still running...
    Installing build dependencies: still running...
    Installing build dependencies: still running...
    Installing build dependencies: still running...
    Installing build dependencies: still running...
    Installing build dependencies: still running...
    Installing build dependencies: finished with status 'done'
    Getting requirements to build wheel: started
    Getting requirements to build wheel: finished with status 'done'
  ERROR: Some build dependencies for setuptools-rust>=0.11.4 from https://files.pythonhosted.org/packages/67/08/e1aa2c582c62ac76e4d60f8e454bd3bba933781a06a88b4e38797445822a/setuptools-rust-1.1.2.tar.gz#sha256=a0adb9b503c0ffc4e8fe80b7c617898cefa78049983aaaea7f747e153a3e65d1 conflict with the backend dependencies: setuptools_scm==6.0.1 is incompatible with setuptools_scm>=6.3.2.
  ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/cc/98/8a258ab4787e6f835d350639792527d2eb7946ff9fc0caca9c3f4cf5dcfe/cryptography-3.4.8.tar.gz#sha256=94cc5ed4ceaefcbe5bf38c8fba6a21fc1d365bb8fb826ea1688e3370b2e24a1c (from https://pypi.org/simple/cryptography/) (requires-python:>=3.6). Command errored out with exit status 1: /home/pi/.platformio/penv/bin/python /tmp/pip-standalone-pip-lnbu5lkc/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-0soqgyxd/overlay --no-warn-script-location --no-binary :all: --only-binary :none: -i https://pypi.org/simple --extra-index-url https://www.piwheels.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.
  Using cached cryptography-3.4.7.tar.gz (546 kB)
  Installing build dependencies ... -

but I must admit, that the system isn't clean. I've only deleted ~/.platformio, ~/.cache/pip, /tmp and still error as pasted above.

When it fails, it tries another version of cryptography: 3.4.8, 3.4.7, 3.4.6, ...
Same on another RPI 4, but without latest system updates. Tomorrow I can try on clean Raspbian OS.

@ivankravets
Copy link
Member

@lkankowski could you remove ~/.platformio/penv and ~/.platformio/packages/contrib-pysite? Then , run installer script https://docs.platformio.org/en/latest/core/installation.html#super-quick-mac-linux and re-run pio remote agent start.

@lkankowski
Copy link
Author

Well, still no luck.
The first approach on RPI3B+:

pi@homeautomation:~ $ uname -a
Linux homeautomation 5.10.60-v7+ #1449 SMP Wed Aug 25 15:00:01 BST 2021 armv7l GNU/Linux
pi@homeautomation:~ $ cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
...
pi@homeautomation:~ $ rm -rf ~/.platformio/penv
pi@homeautomation:~ $ rm -rf ~/.platformio/packages/contrib-pysite
pi@homeautomation:~ $ python3 -c "$(curl -fsSL https://raw.githubusercontent.com/platformio/platformio/master/scripts/ge                                                  t-platformio.py)"
Installer version: 1.1.0
Platform: Linux-5.10.60-v7+-armv7l-with-glibc2.28
Python version: 3.7.3 (default, Jan 22 2021, 20:04:44)
[GCC 8.3.0]
Python path: /usr/bin/python3
Creating a virtual environment at /home/pi/.platformio/penv
Updating Python package manager (PIP) in a virtual environment
PIP has been successfully updated!
Virtual environment has been successfully created!
Installing PlatformIO Core
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting platformio
  Downloading platformio-5.2.4.tar.gz (219 kB)
     |████████████████████████████████| 219 kB 534 kB/s
  Preparing metadata (setup.py) ... done
Collecting bottle==0.12.*
  Downloading https://www.piwheels.org/simple/bottle/bottle-0.12.19-py3-none-any.whl (89 kB)
     |████████████████████████████████| 89 kB 399 kB/s
Collecting click!=8.0.2,<9,>=8
  Downloading https://www.piwheels.org/simple/click/click-8.0.3-py3-none-any.whl (97 kB)
     |████████████████████████████████| 97 kB 491 kB/s
Collecting colorama
  Downloading https://www.piwheels.org/simple/colorama/colorama-0.4.4-py2.py3-none-any.whl (16 kB)
Collecting marshmallow<4,>=2
  Downloading https://www.piwheels.org/simple/marshmallow/marshmallow-3.14.1-py3-none-any.whl (47 kB)
     |████████████████████████████████| 47 kB 343 kB/s
Collecting pyelftools<1,>=0.27
  Downloading https://www.piwheels.org/simple/pyelftools/pyelftools-0.27-py2.py3-none-any.whl (151 kB)
     |████████████████████████████████| 151 kB 692 kB/s
Collecting pyserial==3.*
  Downloading https://www.piwheels.org/simple/pyserial/pyserial-3.5-py2.py3-none-any.whl (90 kB)
     |████████████████████████████████| 90 kB 549 kB/s
Collecting requests==2.*
  Downloading https://www.piwheels.org/simple/requests/requests-2.26.0-py2.py3-none-any.whl (62 kB)
     |████████████████████████████████| 62 kB 103 kB/s
Collecting semantic_version==2.8.*
  Downloading https://www.piwheels.org/simple/semantic-version/semantic_version-2.8.5-py2.py3-none-any.whl (19 kB)
Collecting tabulate==0.8.*
  Downloading https://www.piwheels.org/simple/tabulate/tabulate-0.8.9-py3-none-any.whl (25 kB)
Collecting zeroconf==0.37.*
  Using cached https://www.piwheels.org/simple/zeroconf/zeroconf-0.37.0-py3-none-any.whl (97 kB)
Collecting aiofiles==0.8.*
  Using cached https://www.piwheels.org/simple/aiofiles/aiofiles-0.8.0-py3-none-any.whl (13 kB)
Collecting ajsonrpc==1.*
  Downloading https://www.piwheels.org/simple/ajsonrpc/ajsonrpc-1.2.0-py3-none-any.whl (22 kB)
Collecting starlette==0.17.*
  Downloading https://www.piwheels.org/simple/starlette/starlette-0.17.1-py3-none-any.whl (58 kB)
     |████████████████████████████████| 58 kB 306 kB/s
Collecting uvicorn==0.16.*
  Using cached https://www.piwheels.org/simple/uvicorn/uvicorn-0.16.0-py3-none-any.whl (56 kB)
Collecting wsproto==1.0.*
  Downloading https://www.piwheels.org/simple/wsproto/wsproto-1.0.0-py3-none-any.whl (24 kB)
Collecting idna<4,>=2.5
  Downloading https://www.piwheels.org/simple/idna/idna-3.3-py3-none-any.whl (64 kB)
     |████████████████████████████████| 64 kB 401 kB/s
Collecting certifi>=2017.4.17
  Downloading https://www.piwheels.org/simple/certifi/certifi-2021.10.8-py2.py3-none-any.whl (151 kB)
     |████████████████████████████████| 151 kB 430 kB/s
Collecting charset-normalizer~=2.0.0
  Downloading https://www.piwheels.org/simple/charset-normalizer/charset_normalizer-2.0.9-py3-none-any.whl (43 kB)
     |████████████████████████████████| 43 kB 158 kB/s
Collecting urllib3<1.27,>=1.21.1
  Downloading https://www.piwheels.org/simple/urllib3/urllib3-1.26.7-py2.py3-none-any.whl (155 kB)
     |████████████████████████████████| 155 kB 424 kB/s
Collecting anyio<4,>=3.0.0
  Downloading https://www.piwheels.org/simple/anyio/anyio-3.4.0-py3-none-any.whl (78 kB)
     |████████████████████████████████| 78 kB 195 kB/s
Collecting typing-extensions
  Downloading https://www.piwheels.org/simple/typing-extensions/typing_extensions-4.0.1-py3-none-any.whl (22 kB)
Collecting asgiref>=3.4.0
  Downloading https://www.piwheels.org/simple/asgiref/asgiref-3.4.1-py3-none-any.whl (25 kB)
Collecting h11>=0.8
  Downloading https://www.piwheels.org/simple/h11/h11-0.12.0-py3-none-any.whl (54 kB)
     |████████████████████████████████| 54 kB 54 kB/s
Collecting ifaddr>=0.1.7
  Downloading https://www.piwheels.org/simple/ifaddr/ifaddr-0.1.7-py2.py3-none-any.whl (10 kB)
Collecting importlib-metadata
  Downloading https://www.piwheels.org/simple/importlib-metadata/importlib_metadata-4.8.2-py3-none-any.whl (17 kB)
Collecting sniffio>=1.1
  Downloading https://www.piwheels.org/simple/sniffio/sniffio-1.2.0-py3-none-any.whl (10 kB)
Collecting zipp>=0.5
  Downloading https://www.piwheels.org/simple/zipp/zipp-3.6.0-py3-none-any.whl (5.3 kB)
Building wheels for collected packages: platformio
  Building wheel for platformio (setup.py) ... done
  Created wheel for platformio: filename=platformio-5.2.4-py3-none-any.whl size=344394 sha256=9bbef4a37f3da3bc0d9151eecf1c77271bb3f7a7f0948cca47ff7ce7d9791f4e
  Stored in directory: /home/pi/.cache/pip/wheels/d5/b7/98/b8e72a8c378009b0fc2475e0a9b915a54c6f246a85f1977d83
Successfully built platformio
Installing collected packages: zipp, typing-extensions, sniffio, importlib-metadata, idna, urllib3, ifaddr, h11, click, charset-normalizer, certifi, asgiref, anyio, zeroconf, wsproto, uvicorn, tabulate, starlette, semantic-version, requests, pyserial, pyelftools, marshmallow, colorama, bottle, ajsonrpc, aiofiles, platformio
Successfully installed aiofiles-0.8.0 ajsonrpc-1.2.0 anyio-3.4.0 asgiref-3.4.1 bottle-0.12.19 certifi-2021.10.8 charset-normalizer-2.0.9 click-8.0.3 colorama-0.4.4 h11-0.12.0 idna-3.3 ifaddr-0.1.7 importlib-metadata-4.8.2 marshmallow-3.14.1 platformio-5.2.4 pyelftools-0.27 pyserial-3.5 requests-2.26.0 semantic-version-2.8.5 sniffio-1.2.0 starlette-0.17.1 tabulate-0.8.9 typing-extensions-4.0.1 urllib3-1.26.7 uvicorn-0.16.0 wsproto-1.0.0 zeroconf-0.37.0 zipp-3.6.0

PlatformIO Core has been successfully installed into an isolated environment `/home/pi/.platformio/penv`!

The full path to `platformio.exe` is `/home/pi/.platformio/penv/bin/platformio`

If you need an access to `platformio.exe` from other applications, please install Shell Commands
(add PlatformIO Core binary directory `/home/pi/.platformio/penv/bin` to the system environment PATH variable):

See https://docs.platformio.org/page/installation.html#install-shell-commands



pi@homeautomation:~ $ pio remote agent start
Please wait while upgrading PlatformIO...
PlatformIO has been successfully upgraded to 5.2.4!

**************************************************************************************************************************************************************************
If you like PlatformIO, please:
- follow us on Twitter to stay up-to-date on the latest project news > https://twitter.com/PlatformIO_Org
- star it on GitHub > https://github.com/platformio/platformio
- try PlatformIO IDE for embedded development > https://platformio.org/platformio-ide
**************************************************************************************************************************************************************************

Tool Manager: Installing platformio/contrib-pysite @ ~2.37.0
Unpacking  [####################################]  100%
Tool Manager: contrib-pysite @ 2.37.191020 has been installed!
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting twisted==20.3.0
  Using cached Twisted-20.3.0.tar.bz2 (3.1 MB)
  Preparing metadata (setup.py) ... done
Collecting cryptography<35.0.0,>=3.3
  Using cached cryptography-3.4.8.tar.gz (546 kB)
  Installing build dependencies ... error
  ERROR: Command errored out with exit status 1:
   command: /home/pi/.platformio/penv/bin/python /tmp/pip-standalone-pip-1fs8n488/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-79v5to2a/overlay --no-warn-script-location --no-binary :all: --only-binary :none: -i https://pypi.org/simple --extra-index-url https://www.piwheels.org/simple -- 'setuptools>=40.6.0' wheel 'cffi>=1.12; platform_python_implementation != '"'"'PyPy'"'"'' 'setuptools-rust>=0.11.4'
       cwd: None
  Complete output (33 lines):
  Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple, https://www.piwheels.org/simple
  Collecting setuptools>=40.6.0
    Using cached setuptools-59.6.0.tar.gz (2.3 MB)
    Getting requirements to build wheel: started
    Getting requirements to build wheel: finished with status 'done'
    Installing backend dependencies: started
    Installing backend dependencies: finished with status 'done'
    Preparing metadata (pyproject.toml): started
    Preparing metadata (pyproject.toml): finished with status 'done'
  Collecting wheel
    Using cached wheel-0.37.0.tar.gz (65 kB)
    Preparing metadata (setup.py): started
    Preparing metadata (setup.py): finished with status 'done'
  Collecting cffi>=1.12
    Using cached cffi-1.15.0.tar.gz (484 kB)
    Preparing metadata (setup.py): started
    Preparing metadata (setup.py): finished with status 'done'
  Collecting setuptools-rust>=0.11.4
    Using cached setuptools-rust-1.1.2.tar.gz (285 kB)
    Installing build dependencies: started
    Installing build dependencies: still running...
    Installing build dependencies: still running...
    Installing build dependencies: still running...
    Installing build dependencies: still running...
    Installing build dependencies: still running...
    Installing build dependencies: still running...
    Installing build dependencies: still running...
    Installing build dependencies: still running...
    Installing build dependencies: still running...
    Installing build dependencies: finished with status 'done'
    Getting requirements to build wheel: started
    Getting requirements to build wheel: finished with status 'done'
  ERROR: Some build dependencies for setuptools-rust>=0.11.4 from https://files.pythonhosted.org/packages/67/08/e1aa2c582c62ac76e4d60f8e454bd3bba933781a06a88b4e38797445822a/setuptools-rust-1.1.2.tar.gz#sha256=a0adb9b503c0ffc4e8fe80b7c617898cefa78049983aaaea7f747e153a3e65d1 conflict with the backend dependencies: setuptools_scm==6.0.1 is incompatible with setuptools_scm>=6.3.2.
  ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/cc/98/8a258ab4787e6f835d350639792527d2eb7946ff9fc0caca9c3f4cf5dcfe/cryptography-3.4.8.tar.gz#sha256=94cc5ed4ceaefcbe5bf38c8fba6a21fc1d365bb8fb826ea1688e3370b2e24a1c (from https://pypi.org/simple/cryptography/) (requires-python:>=3.6). Command errored out with exit status 1: /home/pi/.platformio/penv/bin/python /tmp/pip-standalone-pip-1fs8n488/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-79v5to2a/overlay --no-warn-script-location --no-binary :all: --only-binary :none: -i https://pypi.org/simple --extra-index-url https://www.piwheels.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.
  Using cached cryptography-3.4.7.tar.gz (546 kB)
  Installing build dependencies ... error
  ERROR: Command errored out with exit status 1:
   command: /home/pi/.platformio/penv/bin/python /tmp/pip-standalone-pip-ffyxokb8/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-raaj3qgi/overlay --no-warn-script-location --no-binary :all: --only-binary :none: -i https://pypi.org/simple --extra-index-url https://www.piwheels.org/simple -- 'setuptools>=40.6.0' wheel 'cffi>=1.12; platform_python_implementation != '"'"'PyPy'"'"'' 'setuptools-rust>=0.11.4'
       cwd: None
  Complete output (33 lines):
  Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple, https://www.piwheels.org/simple
  Collecting setuptools>=40.6.0
    Using cached setuptools-59.6.0.tar.gz (2.3 MB)
    Getting requirements to build wheel: started
    Getting requirements to build wheel: finished with status 'done'
    Installing backend dependencies: started
    Installing backend dependencies: finished with status 'done'
    Preparing metadata (pyproject.toml): started
    Preparing metadata (pyproject.toml): finished with status 'done'
  Collecting wheel
    Using cached wheel-0.37.0.tar.gz (65 kB)
    Preparing metadata (setup.py): started
    Preparing metadata (setup.py): finished with status 'done'
  Collecting cffi>=1.12
    Using cached cffi-1.15.0.tar.gz (484 kB)
    Preparing metadata (setup.py): started
    Preparing metadata (setup.py): finished with status 'done'
  Collecting setuptools-rust>=0.11.4
    Using cached setuptools-rust-1.1.2.tar.gz (285 kB)
    Installing build dependencies: started
    Installing build dependencies: still running...
    Installing build dependencies: still running...
    Installing build dependencies: still running...
    Installing build dependencies: still running...
    Installing build dependencies: still running...
    Installing build dependencies: still running...
    Installing build dependencies: still running...
    Installing build dependencies: still running...
    Installing build dependencies: still running...
    Installing build dependencies: finished with status 'done'
    Getting requirements to build wheel: started
    Getting requirements to build wheel: finished with status 'done'
  ERROR: Some build dependencies for setuptools-rust>=0.11.4 from https://files.pythonhosted.org/packages/67/08/e1aa2c582c62ac76e4d60f8e454bd3bba933781a06a88b4e38797445822a/setuptools-rust-1.1.2.tar.gz#sha256=a0adb9b503c0ffc4e8fe80b7c617898cefa78049983aaaea7f747e153a3e65d1 conflict with the backend dependencies: setuptools_scm==6.0.1 is incompatible with setuptools_scm>=6.3.2.
  ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/9b/77/461087a514d2e8ece1c975d8216bc03f7048e6090c5166bc34115afdaa53/cryptography-3.4.7.tar.gz#sha256=3d10de8116d25649631977cb37da6cbdd2d6fa0e0281d014a5b7d337255ca713 (from https://pypi.org/simple/cryptography/) (requires-python:>=3.6). Command errored out with exit status 1: /home/pi/.platformio/penv/bin/python /tmp/pip-standalone-pip-ffyxokb8/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-raaj3qgi/overlay --no-warn-script-location --no-binary :all: --only-binary :none: -i https://pypi.org/simple --extra-index-url https://www.piwheels.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.
  Using cached cryptography-3.4.6.tar.gz (546 kB)
  Installing build dependencies ... /^canceled
ERROR: Operation cancelled by user

Aborted!

And second time with pio upgrade --dev:

pi@homeautomation:~ $ rm -rf ~/.platformio/penv
pi@homeautomation:~ $ rm -rf ~/.platformio/packages/contrib-pysite
pi@homeautomation:~ $ python3 -c "$(curl -fsSL https://raw.githubusercontent.com/platformio/platformio/master/scripts/get-platformio.py)"
Installer version: 1.1.0
Platform: Linux-5.10.60-v7+-armv7l-with-glibc2.28
Python version: 3.7.3 (default, Jan 22 2021, 20:04:44)
[GCC 8.3.0]
Python path: /usr/bin/python3
Creating a virtual environment at /home/pi/.platformio/penv
Updating Python package manager (PIP) in a virtual environment
PIP has been successfully updated!
Virtual environment has been successfully created!
Installing PlatformIO Core
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting platformio
  Using cached platformio-5.2.4-py3-none-any.whl
Collecting zeroconf==0.37.*
  Using cached https://www.piwheels.org/simple/zeroconf/zeroconf-0.37.0-py3-none-any.whl (97 kB)
Collecting colorama
  Using cached https://www.piwheels.org/simple/colorama/colorama-0.4.4-py2.py3-none-any.whl (16 kB)
Collecting bottle==0.12.*
  Using cached https://www.piwheels.org/simple/bottle/bottle-0.12.19-py3-none-any.whl (89 kB)
Collecting pyelftools<1,>=0.27
  Using cached https://www.piwheels.org/simple/pyelftools/pyelftools-0.27-py2.py3-none-any.whl (151 kB)
Collecting requests==2.*
  Using cached https://www.piwheels.org/simple/requests/requests-2.26.0-py2.py3-none-any.whl (62 kB)
Collecting semantic-version==2.8.*
  Using cached https://www.piwheels.org/simple/semantic-version/semantic_version-2.8.5-py2.py3-none-any.whl (19 kB)
Collecting tabulate==0.8.*
  Using cached https://www.piwheels.org/simple/tabulate/tabulate-0.8.9-py3-none-any.whl (25 kB)
Collecting marshmallow<4,>=2
  Using cached https://www.piwheels.org/simple/marshmallow/marshmallow-3.14.1-py3-none-any.whl (47 kB)
Collecting starlette==0.17.*
  Using cached https://www.piwheels.org/simple/starlette/starlette-0.17.1-py3-none-any.whl (58 kB)
Collecting aiofiles==0.8.*
  Using cached https://www.piwheels.org/simple/aiofiles/aiofiles-0.8.0-py3-none-any.whl (13 kB)
Collecting wsproto==1.0.*
  Using cached https://www.piwheels.org/simple/wsproto/wsproto-1.0.0-py3-none-any.whl (24 kB)
Collecting click!=8.0.2,<9,>=8
  Using cached https://www.piwheels.org/simple/click/click-8.0.3-py3-none-any.whl (97 kB)
Collecting ajsonrpc==1.*
  Using cached https://www.piwheels.org/simple/ajsonrpc/ajsonrpc-1.2.0-py3-none-any.whl (22 kB)
Collecting pyserial==3.*
  Using cached https://www.piwheels.org/simple/pyserial/pyserial-3.5-py2.py3-none-any.whl (90 kB)
Collecting uvicorn==0.16.*
  Using cached https://www.piwheels.org/simple/uvicorn/uvicorn-0.16.0-py3-none-any.whl (56 kB)
Collecting urllib3<1.27,>=1.21.1
  Using cached https://www.piwheels.org/simple/urllib3/urllib3-1.26.7-py2.py3-none-any.whl (155 kB)
Collecting idna<4,>=2.5
  Using cached https://www.piwheels.org/simple/idna/idna-3.3-py3-none-any.whl (64 kB)
Collecting charset-normalizer~=2.0.0
  Using cached https://www.piwheels.org/simple/charset-normalizer/charset_normalizer-2.0.9-py3-none-any.whl (43 kB)
Collecting certifi>=2017.4.17
  Using cached https://www.piwheels.org/simple/certifi/certifi-2021.10.8-py2.py3-none-any.whl (151 kB)
Collecting anyio<4,>=3.0.0
  Using cached https://www.piwheels.org/simple/anyio/anyio-3.4.0-py3-none-any.whl (78 kB)
Collecting typing-extensions
  Using cached https://www.piwheels.org/simple/typing-extensions/typing_extensions-4.0.1-py3-none-any.whl (22 kB)
Collecting asgiref>=3.4.0
  Using cached https://www.piwheels.org/simple/asgiref/asgiref-3.4.1-py3-none-any.whl (25 kB)
Collecting h11>=0.8
  Using cached https://www.piwheels.org/simple/h11/h11-0.12.0-py3-none-any.whl (54 kB)
Collecting ifaddr>=0.1.7
  Using cached https://www.piwheels.org/simple/ifaddr/ifaddr-0.1.7-py2.py3-none-any.whl (10 kB)
Collecting importlib-metadata
  Using cached https://www.piwheels.org/simple/importlib-metadata/importlib_metadata-4.8.2-py3-none-any.whl (17 kB)
Collecting sniffio>=1.1
  Using cached https://www.piwheels.org/simple/sniffio/sniffio-1.2.0-py3-none-any.whl (10 kB)
Collecting zipp>=0.5
  Using cached https://www.piwheels.org/simple/zipp/zipp-3.6.0-py3-none-any.whl (5.3 kB)
Installing collected packages: zipp, typing-extensions, sniffio, importlib-metadata, idna, urllib3, ifaddr, h11, click, charset-normalizer, certifi, asgiref, anyio, zeroconf, wsproto, uvicorn, tabulate, starlette, semantic-version, requests, pyserial, pyelftools, marshmallow, colorama, bottle, ajsonrpc, aiofiles, platformio
Successfully installed aiofiles-0.8.0 ajsonrpc-1.2.0 anyio-3.4.0 asgiref-3.4.1 bottle-0.12.19 certifi-2021.10.8 charset-normalizer-2.0.9 click-8.0.3 colorama-0.4.4 h11-0.12.0 idna-3.3 ifaddr-0.1.7 importlib-metadata-4.8.2 marshmallow-3.14.1 platformio-5.2.4 pyelftools-0.27 pyserial-3.5 requests-2.26.0 semantic-version-2.8.5 sniffio-1.2.0 starlette-0.17.1 tabulate-0.8.9 typing-extensions-4.0.1 urllib3-1.26.7 uvicorn-0.16.0 wsproto-1.0.0 zeroconf-0.37.0 zipp-3.6.0

PlatformIO Core has been successfully installed into an isolated environment `/home/pi/.platformio/penv`!

The full path to `platformio.exe` is `/home/pi/.platformio/penv/bin/platformio`

If you need an access to `platformio.exe` from other applications, please install Shell Commands
(add PlatformIO Core binary directory `/home/pi/.platformio/penv/bin` to the system environment PATH variable):

See https://docs.platformio.org/page/installation.html#install-shell-commands

pi@homeautomation:~ $ pio upgrade --dev
Please wait while upgrading PlatformIO ...
PlatformIO has been successfully upgraded to 5.2.5a1
Release notes: https://docs.platformio.org/en/latest/history.html
pi@homeautomation:~ $ pio remote agent start
Please wait while upgrading PlatformIO...
PlatformIO has been successfully upgraded to 5.2.5a1!

**************************************************************************************************************************************************************************
If you like PlatformIO, please:
- follow us on Twitter to stay up-to-date on the latest project news > https://twitter.com/PlatformIO_Org
- star it on GitHub > https://github.com/platformio/platformio
- try PlatformIO IDE for embedded development > https://platformio.org/platformio-ide
**************************************************************************************************************************************************************************

Tool Manager: Installing platformio/contrib-pysite @ ~2.37.0
Unpacking  [####################################]  100%
Tool Manager: contrib-pysite @ 2.37.191020 has been installed!
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting twisted==20.3.0
  Using cached Twisted-20.3.0.tar.bz2 (3.1 MB)
  Preparing metadata (setup.py) ... done
Collecting cryptography<35.0.0,>=3.3
  Using cached cryptography-3.4.8.tar.gz (546 kB)
  Installing build dependencies ... error
  ERROR: Command errored out with exit status 1:
   command: /home/pi/.platformio/penv/bin/python /tmp/pip-standalone-pip-gkwjl2kj/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-6d_8lhpd/overlay --no-warn-script-location --no-binary :all: --only-binary :none: -i https://pypi.org/simple --extra-index-url https://www.piwheels.org/simple -- 'setuptools>=40.6.0' wheel 'cffi>=1.12; platform_python_implementation != '"'"'PyPy'"'"'' 'setuptools-rust>=0.11.4'
       cwd: None
  Complete output (33 lines):
  Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple, https://www.piwheels.org/simple
  Collecting setuptools>=40.6.0
    Using cached setuptools-59.6.0.tar.gz (2.3 MB)
    Getting requirements to build wheel: started
    Getting requirements to build wheel: finished with status 'done'
    Installing backend dependencies: started
    Installing backend dependencies: finished with status 'done'
    Preparing metadata (pyproject.toml): started
    Preparing metadata (pyproject.toml): finished with status 'done'
  Collecting wheel
    Using cached wheel-0.37.0.tar.gz (65 kB)
    Preparing metadata (setup.py): started
    Preparing metadata (setup.py): finished with status 'done'
  Collecting cffi>=1.12
    Using cached cffi-1.15.0.tar.gz (484 kB)
    Preparing metadata (setup.py): started
    Preparing metadata (setup.py): finished with status 'done'
  Collecting setuptools-rust>=0.11.4
    Using cached setuptools-rust-1.1.2.tar.gz (285 kB)
    Installing build dependencies: started
    Installing build dependencies: still running...
    Installing build dependencies: still running...
    Installing build dependencies: still running...
    Installing build dependencies: still running...
    Installing build dependencies: still running...
    Installing build dependencies: still running...
    Installing build dependencies: still running...
    Installing build dependencies: still running...
    Installing build dependencies: still running...
    Installing build dependencies: finished with status 'done'
    Getting requirements to build wheel: started
    Getting requirements to build wheel: finished with status 'done'
  ERROR: Some build dependencies for setuptools-rust>=0.11.4 from https://files.pythonhosted.org/packages/67/08/e1aa2c582c62ac76e4d60f8e454bd3bba933781a06a88b4e38797445822a/setuptools-rust-1.1.2.tar.gz#sha256=a0adb9b503c0ffc4e8fe80b7c617898cefa78049983aaaea7f747e153a3e65d1 conflict with the backend dependencies: setuptools_scm==6.0.1 is incompatible with setuptools_scm>=6.3.2.
  ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/cc/98/8a258ab4787e6f835d350639792527d2eb7946ff9fc0caca9c3f4cf5dcfe/cryptography-3.4.8.tar.gz#sha256=94cc5ed4ceaefcbe5bf38c8fba6a21fc1d365bb8fb826ea1688e3370b2e24a1c (from https://pypi.org/simple/cryptography/) (requires-python:>=3.6). Command errored out with exit status 1: /home/pi/.platformio/penv/bin/python /tmp/pip-standalone-pip-gkwjl2kj/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-6d_8lhpd/overlay --no-warn-script-location --no-binary :all: --only-binary :none: -i https://pypi.org/simple --extra-index-url https://www.piwheels.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.
  Using cached cryptography-3.4.7.tar.gz (546 kB)
  Installing build dependencies ... /^canceled
ERROR: Operation cancelled by user

Aborted!

I've also tried on completely clean Raspberry OS with newer OS version and different board (RPI4, 4GB):

pi@rpi4:~ $ uname -a
Linux rpi4 5.10.63-v7l+ #1488 SMP Thu Nov 18 16:15:28 GMT 2021 armv7l GNU/Linux
pi@rpi4:~ $ cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 11 (bullseye)"

Almost complete command list on clean system (retries because of error with dependencies):

sudo apt install mc
sudo apt update
sudo apt -y dist-upgrade
sudo apt install python3-venv
python3 -c "$(curl -fsSL https://raw.githubusercontent.com/platformio/platformio/master/scripts/get-platformio.py)"
pio remote agent start
pio upgrade --dev
sudo apt -y install libffi-dev
pio remote agent start
sudo apt-get install python3-dev
pio remote agent start
sudo apt install libffi-dev libssl-dev
pio remote agent start

And finally still error:

pi@rpi4:~ $ sudo apt install python3-dev libffi-dev libssl-dev
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
libffi-dev is already the newest version (3.3-6).
python3-dev is already the newest version (3.9.2-3).
Suggested packages:
  libssl-doc
The following NEW packages will be installed:
  libssl-dev
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 1,579 kB of archives.
After this operation, 5,946 kB of additional disk space will be used.
Do you want to continue? [Y/n]
Get:1 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf libssl-dev armhf 1.1.1k-1+deb11u1 [1,579 kB]
Fetched 1,579 kB in 1s (1,094 kB/s)
Selecting previously unselected package libssl-dev:armhf.
(Reading database ... 41776 files and directories currently installed.)
Preparing to unpack .../libssl-dev_1.1.1k-1+deb11u1_armhf.deb ...
Unpacking libssl-dev:armhf (1.1.1k-1+deb11u1) ...
Setting up libssl-dev:armhf (1.1.1k-1+deb11u1) ...
pi@rpi4:~ $ pio remote agent start
Tool Manager: Installing platformio/contrib-pysite @ ~2.39.0
Unpacking  [####################################]  100%
Tool Manager: contrib-pysite @ 2.39.201020 has been installed!
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting twisted==20.3.0
  Using cached Twisted-20.3.0.tar.bz2 (3.1 MB)
  Preparing metadata (setup.py) ... done
Collecting cryptography<35.0.0,>=3.3
  Using cached cryptography-3.4.8.tar.gz (546 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting pyopenssl<=21.0.0,>=16.0.0
  Using cached pyOpenSSL-21.0.0.tar.gz (175 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting service_identity<=21.1.0,>=18.1.0
  Using cached service-identity-21.1.0.tar.gz (40 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting Automat>=0.3.0
  Using cached Automat-20.2.0.tar.gz (61 kB)
  Preparing metadata (setup.py) ... done
Collecting PyHamcrest!=1.10.0,>=1.9.0
  Using cached PyHamcrest-2.0.3.tar.gz (68 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting attrs>=19.2.0
  Using cached attrs-21.2.0.tar.gz (184 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting constantly>=15.1
  Using cached constantly-15.1.0.tar.gz (21 kB)
  Preparing metadata (setup.py) ... done
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)")': /simple/hyperlink/
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0xb5090760>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/hyperlink/
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0xb504de80>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/hyperlink/
WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0xb504def8>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/hyperlink/
WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0xb504d490>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/hyperlink/
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='www.piwheels.org', port=443): Read timed out. (read timeout=15)")': /simple/hyperlink/
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0xb50266a0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/hyperlink/
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0xb50263a0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/hyperlink/
WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0xb5026268>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/hyperlink/
WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0xb50268b0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/hyperlink/
ERROR: Could not find a version that satisfies the requirement hyperlink>=17.1.1 (from twisted) (from versions: none)
ERROR: No matching distribution found for hyperlink>=17.1.1
Error:

Please ensure that the next packages are installed:

sudo apt install python3-dev libffi-dev libssl-dev

Is there any documentation with complete list of required dependencies?

@ivankravets ivankravets reopened this Dec 15, 2021
@ivankravets ivankravets modified the milestones: 5.2.4, 5.2.5 Dec 15, 2021
@ivankravets ivankravets removed the bug label Feb 3, 2022
@ivankravets ivankravets removed this from the 5.2.5 milestone Feb 3, 2022
@gdanov
Copy link

gdanov commented Feb 10, 2022

after fighting with this on two different arm distros and boards, what works for me is:

  • install platform io and prerequisites as in the official docs
  • apt install rustc
  • pip3 install cryptography==3.4.8 --no-binary cryptography (use the highest accepted current version)

only after that I run pio account login and pio remote agent start and everything's fine.
tested on 5.2.3, this is what pip3 delivered.

@ivankravets
Copy link
Member

@alex, sorry that disturb you here. Thank you so much for your work on cryptography package. Could you help us to solve this issue?

The main problem with the recent cryptography updates is that they require a RUST compiler. It could work on host/native machines, but crazy impossible to use cryptography on card-sized PCs (RPi). You need to install rustc package that consumes hundreds of megabytes and needs time. RPi is very slow.

We locked PlatformIO Remote agent to cryptography >= 3.3, < 35.0.0 but it still requires Rust. See
https://github.com/platformio/platformio-core/blob/develop/platformio/package/manager/core.py#L220

What do we do wrong?

@alex
Copy link

alex commented Feb 11, 2022

cryptography 3.4 uses rust by default (but it can be disabled with the CRYPTOGRAPHY_DONT_BUILD_RUST environment variable).

Please note that if you pin to an older verison you will not receive security updates.

@ivankravets ivankravets added this to the 5.3.0 milestone Feb 11, 2022
@ivankravets
Copy link
Member

@alex thanks for the help! It was a bug on our side, we set CRYPTOGRAPHY_DONT_BUILD_RUST to the process' environment but didn't pass to the subprocess. Fixed in 526abc6

@gdanov could you remove rustc (apt purge rustc), remove ~/.platformio/packages/contrib-pysite, and re-start agent. Does it work now?

@ivankravets
Copy link
Member

Please note that if you pin to an older verison you will not receive security updates.

We can't use the latest cryptography, there are Linux distros for card-sized PCs that do not have rustup/rustc in the registry. Hope you will allow again to use the latest cryptography without dependency on Rust.

@alex
Copy link

alex commented Feb 11, 2022

We will not be removing our rust dependency.

My recommendation to folks would be to build wheels on a larger machine and then make them available to smaller machines, e.g. https://www.piwheels.org/

@lkankowski
Copy link
Author

@gdanov thank you for workaround.
@ivankravets @alex Thank you for solving the problem.

@ivankravets
Copy link
Member

@lkankowski could you try the latest version of PlatformIO Core via pio upgrade --dev without any workarounds? Does it work?

@lkankowski
Copy link
Author

@ivankravets I have tried last stable version after trying workaround and then removed the rustc and it always finishes with error, but the second run is fine (it wont start to compile and everything is fine).

But for you and all your help I will try once more :)

@lkankowski
Copy link
Author

@ivankravets here is the result
https://pastebin.com/MFbYnVnd

@ivankravets
Copy link
Member

@lkankowski it works, great! The moment that the first command fails is a known issue and we will soon it later.

@gdanov
Copy link

gdanov commented Feb 12, 2022

starting with clean ~/.platformio and pio upgrade -dev the first run of pio remote agent start fails with the usual error

ImportError: cannot import name '_get_backend' from 'cryptography.hazmat.backends' (/root/.platformio/packages/contrib-pysite/cryptography/hazmat/backends/__init__.py)

the second run of pio remote agent start is successful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment