question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Error during DIY installation on ubuntu 22.04 on Raspberry Pi

See original GitHub issue

Description

After running the automated installation, I get an error that appears to be:

error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘use_tracing’; did you mean ‘tracing’?

What’s the behavior that you expect?

Installation completes without issue.

What’s happening instead?

fatal: [localhost]: FAILED! => {"changed": false, "cmd": ["/opt/tinypilot/venv/bin/pip3", "install", "-r", "/opt/tinypilot/requirements.txt"], "msg": "stdout: Collecting eventlet==0.31.0\n  Downloading eventlet-0.31.0-py2.py3-none-any.whl (224 kB)\n     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 224.4/224.4 KB 2.4 MB/s eta 0:00:00\nCollecting Flask==1.1.1\n  Downloading Flask-1.1.1-py2.py3-none-any.whl (94 kB)\n     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 94.5/94.5 KB 3.2 MB/s eta 0:00:00\nCollecting Flask-SocketIO==5.0.1\n  Downloading Flask_SocketIO-5.0.1-py2.py3-none-any.whl (16 kB)\nCollecting Flask-WTF==0.14.3\n  Downloading Flask_WTF-0.14.3-py2.py3-none-any.whl (13 kB)\nCollecting pyyaml==5.4.1\n  Downloading PyYAML-5.4.1.tar.gz (175 kB)\n     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 175.1/175.1 KB 5.4 MB/s eta 0:00:00\n  Installing build dependencies: started\n  Installing build dependencies: finished with status 'done'\n  Getting requirements to build wheel: started\n  Getting requirements to build wheel: finished with status 'done'\n  Preparing metadata (pyproject.toml): started\n  Preparing metadata (pyproject.toml): finished with status 'done'\nCollecting bidict==0.21.2\n  Downloading bidict-0.21.2-py2.py3-none-any.whl (37 kB)\nCollecting click==7.1.2\n  Downloading click-7.1.2-py2.py3-none-any.whl (82 kB)\n     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 82.8/82.8 KB 3.0 MB/s eta 0:00:00\nCollecting dnspython==1.16.0\n  Downloading dnspython-1.16.0-py2.py3-none-any.whl (188 kB)\n     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 188.4/188.4 KB 5.3 MB/s eta 0:00:00\nCollecting greenlet==1.0.0\n  Downloading greenlet-1.0.0.tar.gz (84 kB)\n     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 84.5/84.5 KB 3.1 MB/s eta 0:00:00\n  Preparing metadata (setup.py): started\n  Preparing metadata (setup.py): finished with status 'done'\nCollecting itsdangerous==1.1.0\n  Downloading itsdangerous-1.1.0-py2.py3-none-any.whl (16 kB)\nCollecting Jinja2==2.11.3\n  Downloading Jinja2-2.11.3-py2.py3-none-any.whl (125 kB)\n     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 125.7/125.7 KB 4.3 MB/s eta 0:00:00\nCollecting MarkupSafe==1.1.1\n  Downloading MarkupSafe-1.1.1.tar.gz (19 kB)\n  Preparing metadata (setup.py): started\n  Preparing metadata (setup.py): finished with status 'done'\nCollecting monotonic==1.5\n  Downloading monotonic-1.5-py2.py3-none-any.whl (5.3 kB)\nCollecting python-engineio==4.0.1\n  Downloading python_engineio-4.0.1-py2.py3-none-any.whl (50 kB)\n     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 50.9/50.9 KB 2.2 MB/s eta 0:00:00\nCollecting python-socketio==5.1.0\n  Downloading python_socketio-5.1.0-py2.py3-none-any.whl (53 kB)\n     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 53.2/53.2 KB 2.1 MB/s eta 0:00:00\nCollecting six==1.15.0\n  Downloading six-1.15.0-py2.py3-none-any.whl (10 kB)\nCollecting Werkzeug==1.0.1\n  Downloading Werkzeug-1.0.1-py2.py3-none-any.whl (298 kB)\n     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 298.6/298.6 KB 7.0 MB/s eta 0:00:00\nCollecting WTForms==2.3.3\n  Downloading WTForms-2.3.3-py2.py3-none-any.whl (169 kB)\n     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 169.1/169.1 KB 5.2 MB/s eta 0:00:00\nUsing legacy 'setup.py install' for greenlet, since package 'wheel' is not installed.\nUsing legacy 'setup.py install' for MarkupSafe, since package 'wheel' is not installed.\nBuilding wheels for collected packages: pyyaml\n  Building wheel for pyyaml (pyproject.toml): started\n  Building wheel for pyyaml (pyproject.toml): finished with status 'done'\n  Created wheel for pyyaml: filename=PyYAML-5.4.1-cp310-cp310-linux_aarch64.whl size=45660 sha256=d1409ab99d6b1ab0a25191fe0e86d73b6336e874b6198e17a35867dccdf2a602\n  Stored in directory: /root/.cache/pip/wheels/c7/0d/22/696ee92245ad710f506eee79bb05c740d8abccd3ecdb778683\nSuccessfully built pyyaml\nInstalling collected packages: python-engineio, monotonic, Werkzeug, six, pyyaml, MarkupSafe, itsdangerous, greenlet, dnspython, click, bidict, WTForms, python-socketio, Jinja2, eventlet, Flask, Flask-WTF, Flask-SocketIO\n  Running setup.py install for MarkupSafe: started\n  Running setup.py install for MarkupSafe: finished with status 'done'\n  Running setup.py install for greenlet: started\n  Running setup.py install for greenlet: finished with status 'error'\n\n:stderr:   error: subprocess-exited-with-error\n  \n  × Running setup.py install for greenlet did not run successfully.\n  │ exit code: 1\n  ╰─> [87 lines of output]\n      running install\n      /opt/tinypilot/venv/lib/python3.10/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.\n        warnings.warn(\n      running build\n      running build_py\n      creating build\n      creating build/lib.linux-aarch64-3.10\n      creating build/lib.linux-aarch64-3.10/greenlet\n      copying src/greenlet/__init__.py -> build/lib.linux-aarch64-3.10/greenlet\n      creating build/lib.linux-aarch64-3.10/greenlet/tests\n      copying src/greenlet/tests/test_throw.py -> build/lib.linux-aarch64-3.10/greenlet/tests\n      copying src/greenlet/tests/test_leaks.py -> build/lib.linux-aarch64-3.10/greenlet/tests\n      copying src/greenlet/tests/test_generator_nested.py -> build/lib.linux-aarch64-3.10/greenlet/tests\n      copying src/greenlet/tests/test_stack_saved.py -> build/lib.linux-aarch64-3.10/greenlet/tests\n      copying src/greenlet/tests/test_gc.py -> build/lib.linux-aarch64-3.10/greenlet/tests\n      copying src/greenlet/tests/test_greenlet.py -> build/lib.linux-aarch64-3.10/greenlet/tests\n      copying src/greenlet/tests/test_version.py -> build/lib.linux-aarch64-3.10/greenlet/tests\n      copying src/greenlet/tests/test_tracing.py -> build/lib.linux-aarch64-3.10/greenlet/tests\n      copying src/greenlet/tests/test_contextvars.py -> build/lib.linux-aarch64-3.10/greenlet/tests\n      copying src/greenlet/tests/test_weakref.py -> build/lib.linux-aarch64-3.10/greenlet/tests\n      copying src/greenlet/tests/test_extension_interface.py -> build/lib.linux-aarch64-3.10/greenlet/tests\n      copying src/greenlet/tests/test_generator.py -> build/lib.linux-aarch64-3.10/greenlet/tests\n      copying src/greenlet/tests/__init__.py -> build/lib.linux-aarch64-3.10/greenlet/tests\n      copying src/greenlet/tests/test_cpp.py -> build/lib.linux-aarch64-3.10/greenlet/tests\n      running egg_info\n      writing src/greenlet.egg-info/PKG-INFO\n      writing dependency_links to src/greenlet.egg-info/dependency_links.txt\n      writing requirements to src/greenlet.egg-info/requires.txt\n      writing top-level names to src/greenlet.egg-info/top_level.txt\n      reading manifest file 'src/greenlet.egg-info/SOURCES.txt'\n      reading manifest template 'MANIFEST.in'\n      no previously-included directories found matching 'docs/_build'\n      warning: no files found matching '*.py' under directory 'appveyor'\n      warning: no previously-included files matching '*.pyc' found anywhere in distribution\n      warning: no previously-included files matching '*.pyd' found anywhere in distribution\n      warning: no previously-included files matching '*.so' found anywhere in distribution\n      warning: no previously-included files matching '.coverage' found anywhere in distribution\n      adding license file 'LICENSE'\n      adding license file 'LICENSE.PSF'\n      adding license file 'AUTHORS'\n      writing manifest file 'src/greenlet.egg-info/SOURCES.txt'\n      copying src/greenlet/greenlet.c -> build/lib.linux-aarch64-3.10/greenlet\n      copying src/greenlet/greenlet.h -> build/lib.linux-aarch64-3.10/greenlet\n      copying src/greenlet/slp_platformselect.h -> build/lib.linux-aarch64-3.10/greenlet\n      creating build/lib.linux-aarch64-3.10/greenlet/platform\n      copying src/greenlet/platform/setup_switch_x64_masm.cmd -> build/lib.linux-aarch64-3.10/greenlet/platform\n      copying src/greenlet/platform/switch_aarch64_gcc.h -> build/lib.linux-aarch64-3.10/greenlet/platform\n      copying src/greenlet/platform/switch_alpha_unix.h -> build/lib.linux-aarch64-3.10/greenlet/platform\n      copying src/greenlet/platform/switch_amd64_unix.h -> build/lib.linux-aarch64-3.10/greenlet/platform\n      copying src/greenlet/platform/switch_arm32_gcc.h -> build/lib.linux-aarch64-3.10/greenlet/platform\n      copying src/greenlet/platform/switch_arm32_ios.h -> build/lib.linux-aarch64-3.10/greenlet/platform\n      copying src/greenlet/platform/switch_csky_gcc.h -> build/lib.linux-aarch64-3.10/greenlet/platform\n      copying src/greenlet/platform/switch_m68k_gcc.h -> build/lib.linux-aarch64-3.10/greenlet/platform\n      copying src/greenlet/platform/switch_mips_unix.h -> build/lib.linux-aarch64-3.10/greenlet/platform\n      copying src/greenlet/platform/switch_ppc64_aix.h -> build/lib.linux-aarch64-3.10/greenlet/platform\n      copying src/greenlet/platform/switch_ppc64_linux.h -> build/lib.linux-aarch64-3.10/greenlet/platform\n      copying src/greenlet/platform/switch_ppc_aix.h -> build/lib.linux-aarch64-3.10/greenlet/platform\n      copying src/greenlet/platform/switch_ppc_linux.h -> build/lib.linux-aarch64-3.10/greenlet/platform\n      copying src/greenlet/platform/switch_ppc_macosx.h -> build/lib.linux-aarch64-3.10/greenlet/platform\n      copying src/greenlet/platform/switch_ppc_unix.h -> build/lib.linux-aarch64-3.10/greenlet/platform\n      copying src/greenlet/platform/switch_riscv_unix.h -> build/lib.linux-aarch64-3.10/greenlet/platform\n      copying src/greenlet/platform/switch_s390_unix.h -> build/lib.linux-aarch64-3.10/greenlet/platform\n      copying src/greenlet/platform/switch_sparc_sun_gcc.h -> build/lib.linux-aarch64-3.10/greenlet/platform\n      copying src/greenlet/platform/switch_x32_unix.h -> build/lib.linux-aarch64-3.10/greenlet/platform\n      copying src/greenlet/platform/switch_x64_masm.asm -> build/lib.linux-aarch64-3.10/greenlet/platform\n      copying src/greenlet/platform/switch_x64_masm.obj -> build/lib.linux-aarch64-3.10/greenlet/platform\n      copying src/greenlet/platform/switch_x64_msvc.h -> build/lib.linux-aarch64-3.10/greenlet/platform\n      copying src/greenlet/platform/switch_x86_msvc.h -> build/lib.linux-aarch64-3.10/greenlet/platform\n      copying src/greenlet/platform/switch_x86_unix.h -> build/lib.linux-aarch64-3.10/greenlet/platform\n      copying src/greenlet/tests/_test_extension.c -> build/lib.linux-aarch64-3.10/greenlet/tests\n      copying src/greenlet/tests/_test_extension_cpp.cpp -> build/lib.linux-aarch64-3.10/greenlet/tests\n      running build_ext\n      building 'greenlet._greenlet' extension\n      creating build/temp.linux-aarch64-3.10\n      creating build/temp.linux-aarch64-3.10/src\n      creating build/temp.linux-aarch64-3.10/src/greenlet\n      aarch64-linux-gnu-gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/opt/tinypilot/venv/include -I/usr/include/python3.10 -c src/greenlet/greenlet.c -o build/temp.linux-aarch64-3.10/src/greenlet/greenlet.o\n      src/greenlet/greenlet.c: In function ‘g_calltrace’:\n      src/greenlet/greenlet.c:570:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘use_tracing’; did you mean ‘tracing’?\n        570 |     tstate->use_tracing = 0;\n            |             ^~~~~~~~~~~\n            |             tracing\n      src/greenlet/greenlet.c:573:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘use_tracing’; did you mean ‘tracing’?\n        573 |     tstate->use_tracing =\n            |             ^~~~~~~~~~~\n            |             tracing\n      error: command '/usr/bin/aarch64-linux-gnu-gcc' failed with exit code 1\n      [end of output]\n  \n  note: This error originates from a subprocess, and is likely not a problem with pip.\nerror: legacy-install-failure\n\n× Encountered error while trying to install package.\n╰─> greenlet\n\nnote: This is an issue with the package mentioned above, not pip.\nhint: See above for output from the failure.\n"}

What are the steps to reproduce this behavior?

  1. Run the following on a new Ubuntu 22.04 installation on a Raspberry Pi:
curl \
  --silent \
  --show-error \
  https://raw.githubusercontent.com/tiny-pilot/tinypilot/master/get-tinypilot.sh | \
    bash -

Screenshots

Not applicable

Logs

The path /opt/tinypilot/dev-scripts/dump-logs does not exist (likely due to the fact that this is an installation issue).

Issue Analytics

  • State:closed
  • Created a year ago
  • Comments:6 (4 by maintainers)

github_iconTop GitHub Comments

1reaction
mtlynchcommented, Oct 5, 2022

Is there a straight-forward way for me to test it out?

Unfortunately not. We recently changed our install workflow to make the system more robust, but we still haven’t ironed out the finer details. I’ve filed a bug to track this in #1133.

We should have this merged today, so you’ll be able to test once it’s merged in and the new package is deployed (which you should be able to see in the CircleCI build).

0reactions
billdenneycommented, Oct 6, 2022

I had installation success. Thanks! Now, I have an issue while trying it out for the first time. I’ll open another issue for that.

Read more comments on GitHub >

github_iconTop Results From Across the Web

RPI-Installer - Ubuntu 22.04 Image Fails First Boot?
Hi, I've got an RPI 3 B+ I am flashing with the rpi-installer. I have tried both the arm64 and armhf images for...
Read more >
How to install Ubuntu Server on your Raspberry Pi
In this tutorial, we walk you through the process of installing Ubuntu Server on a Raspberry Pi, connecting it to the internet and...
Read more >
[HOW-TO] Install working picamera2 on Ubuntu 22.04 ...
You might want to disable the repo after installing things, as it might cause issues, when trying to upgrade Ubuntu. python3-libcamera is ...
Read more >
How to Install Ubuntu Server 22.04 LTS on Raspberry Pi 4
Step 7: Select any Ubuntu 22.04 Server from the below options. In our case, we select the 64-Bit version. Step 8: Next, pick...
Read more >
"Login incorrect" error on Raspberry Pi 4 during initial setup of ...
Followed the tutorial step by step from the official site. When it asks to login, the initial login details are entered are as...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found