platformio/platformio-core

Remote agent fail to start on raspberry pi

Open

#4,958 opened on Aug 7, 2024

View on GitHub
 (1 comment) (0 reactions) (0 assignees)Python (791 forks)batch import
help wantedremote

Repository metrics

Stars
 (7,329 stars)
PR merge metrics
 (Avg merge 109d 16h) (5 merged PRs in 30d)

Description

What kind of issue is this?

  • PlatformIO Core. If you’ve found a bug, please provide an information below.

Configuration

Operating system: Raspbian Lite (32bit)

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

Description of problem

I have a fresh install of raspbian lite on a raspberry pi 3, after installing python, platformio and pio remote agent I cannot start the remote agent and I get an error that seems to be related to openssl.

Steps to Reproduce

  1. Install raspbian-lite/raspbian on raspberry pi (3 in my case)
# Update stuff...
sudo apt update && sudo apt upgrade -y

# Make sure needed python packages are installed
sudo apt install python3 python3-pip python3-venv

# Get version
python --version

Python 3.11.2

# Make sure pip is installed and up to date
python -m pip install --upgrade pip
# Get version
python -m pip --version

pip 23.0.1
  1. Install PlatformIO
# Install PlatformIO
curl -fsSL -o get-platformio.py https://raw.githubusercontent.com/platformio/platformio-core-installer/master/get-platformio.py
python3 get-platformio.py

# Get version
$HOME/.platformio/penv/bin/platformio --version

PlatformIO Core, version 6.1.15

# Add PlatformIO to PATH...

# Install udev rules
curl -fsSL https://raw.githubusercontent.com/platformio/platformio-core/develop/platformio/assets/system/99-platformio-udev.rules | sudo tee /etc/udev/rules.d/99-platformio-udev.rules
# Reload service to apply changes
sudo service udev restart
  1. Setup remote agent
# Install OS dependencies for remote agent
sudo apt install libffi-dev libssl-dev

# Install required libraries for the remote agent
pio remote agent
# ==> SUCCESS
  1. Login to PlatformIO account and get the token
pio account login

Username or email:
Password: 
Successfully logged in!

pio account token

Password: 
Personal Authentication Token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  1. Start remote agent
# Start remote agent
pio remote agent start
# ==> ERROR

Actual Results

ImportError: Traceback (most recent call last):
  File "/home/bayrem/.platformio/penv/lib/python3.11/site-packages/platformio/__main__.py", line 103, in main
    cli()  # pylint: disable=no-value-for-parameter
    ^^^^^
  File "/home/bayrem/.platformio/penv/lib/python3.11/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bayrem/.platformio/penv/lib/python3.11/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/home/bayrem/.platformio/penv/lib/python3.11/site-packages/platformio/cli.py", line 85, in invoke
    return super().invoke(ctx)
           ^^^^^^^^^^^^^^^^^^^
  File "/home/bayrem/.platformio/penv/lib/python3.11/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bayrem/.platformio/penv/lib/python3.11/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bayrem/.platformio/penv/lib/python3.11/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bayrem/.platformio/penv/lib/python3.11/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bayrem/.platformio/penv/lib/python3.11/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bayrem/.platformio/penv/lib/python3.11/site-packages/platformio/remote/cli.py", line 68, in remote_agent_start
    from platformio.remote.client.agent_service import RemoteAgentService
  File "/home/bayrem/.platformio/penv/lib/python3.11/site-packages/platformio/remote/client/agent_service.py", line 27, in <module>
    from platformio.remote.client.base import RemoteClientBase
  File "/home/bayrem/.platformio/penv/lib/python3.11/site-packages/platformio/remote/client/base.py", line 30, in <module>
    from platformio.remote.factory.ssl import SSLContextFactory
  File "/home/bayrem/.platformio/penv/lib/python3.11/site-packages/platformio/remote/factory/ssl.py", line 16, in <module>
    from OpenSSL import SSL  # pylint: disable=import-error
    ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bayrem/.platformio/packages/contrib-pioremote/OpenSSL/__init__.py", line 8, in <module>
    from OpenSSL import crypto, SSL
  File "/home/bayrem/.platformio/packages/contrib-pioremote/OpenSSL/crypto.py", line 17, in <module>
    from OpenSSL._util import (
  File "/home/bayrem/.platformio/packages/contrib-pioremote/OpenSSL/_util.py", line 6, in <module>
    from cryptography.hazmat.bindings.openssl.binding import Binding
  File "/home/bayrem/.platformio/packages/contrib-pioremote/cryptography/hazmat/bindings/openssl/binding.py", line 14, in <module>
    from cryptography.hazmat.bindings._openssl import ffi, lib
ImportError: /home/bayrem/.platformio/packages/contrib-pioremote/cryptography/hazmat/bindings/_openssl.abi3.so: undefined symbol: FIPS_mode

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

An unexpected error occurred. Further steps:

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

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

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

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

Expected Results

2024-08-07 08:12:23 [info] Name: raspberry
2024-08-07 08:12:23 [info] Connecting to PlatformIO Remote Development Cloud
2024-08-07 08:12:23 [info] Successfully connected
2024-08-07 08:12:23 [info] Authenticating
2024-08-07 08:12:24 [info] Successfully authorized

Additional info

There are other people who faced a similar issue:

Contributor guide