Getting flexget working again on Vero 4K+

With some help from the OSMC community, I managed to get flexget running on my Vero 4K+ a couple of years ago. It worked perfectly until the last major upgrade to OSMC, after which flexget seemed to no longer be installed. I tried various approaches to getting it to install again, but nothing worked.
I’m running OSMC with the latest updates (Debian 11 release 11 / Python 3.9.2). When I try to install flexget using “sudo pip install flexget”, various errors are returned and the installation fails. I’m posting what look like the most relevant parts of the output below. In general terms, I understand that there are issues installing packages flexget relies on, such as brotli, but I’m at a loss as to how to get them to load correctly. I would be very grateful for any advice – thanks in advance!

Using cached requests-2.28.1-py3-none-any.whl (62 kB)
[33mWARNING: The candidate selected for download or install is a yanked version: ‘apscheduler’ candidate (version 3.9.1 at https://files.pythonhosted.org/packages/e4/9f/c3937d4babe62504b874d4bf2c0d85aa69c7f59fa84cf6050f3b9dc5d83e/APScheduler-3.9.1-py2.py3-none-any.whl#sha256=ddc25a0ddd899de44d7f451f4375fb971887e65af51e41e5dcf681f59b8b2c9a (from Links for apscheduler) (requires-python:>=2.7, !=3.0., !=3.1., !=3.2., !=3.3., !=3.4., <4))
Reason for being yanked: Not compatible with Python 2.7 [0m
Building wheels for collected packages: brotli, greenlet, psutil, pyyaml, sqlalchemy
Building wheel for brotli (setup.py) … [?25l- \ | error
[31m ERROR: Command errored out with exit status 1:
command: /usr/bin/python3 -u -c ‘import sys, setuptools, tokenize; sys.argv[0] = ‘"’"’/tmp/pip-install-tmuy2qn4/brotli_19cb66ae02eb45dd83db010127ca5a14/setup.py’“'”‘; file=’“'”‘/tmp/pip-install-tmuy2qn4/brotli_19cb66ae02eb45dd83db010127ca5a14/setup.py’“'”‘;f=getattr(tokenize, ‘"’“‘open’”’“‘, open)(file);code=f.read().replace(’”‘"’\r\n’“'”‘, ‘"’"’\n’“'”‘);f.close();exec(compile(code, file, ‘"’“‘exec’”’"‘))’ bdist_wheel -d /tmp/pip-wheel-po2mausm
cwd: /tmp/pip-install-tmuy2qn4/brotli_19cb66ae02eb45dd83db010127ca5a14/
Complete output (23 lines):
/usr/local/lib/python3.9/dist-packages/setuptools/dist.py:771: UserWarning: Usage of dash-separated ‘build-base’ will not be supported in future versions. Please use the underscore name ‘build_base’ instead
warnings.warn(
running bdist_wheel
running build
running build_py
creating bin
creating bin/lib.linux-aarch64-cpython-39
copying python/brotli.py → bin/lib.linux-aarch64-cpython-39
running build_ext
building ‘_brotli’ extension
creating bin/temp.linux-aarch64-cpython-39
creating bin/temp.linux-aarch64-cpython-39/c
creating bin/temp.linux-aarch64-cpython-39/c/common
creating bin/temp.linux-aarch64-cpython-39/c/dec
creating bin/temp.linux-aarch64-cpython-39/c/enc
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/usr/include/python3.9 -c c/common/constants.c -o bin/temp.linux-aarch64-cpython-39/c/common/constants.o
In file included from c/common/./constants.h:15,
from c/common/constants.c:7:
c/common/././platform.h:26:10: fatal error: string.h: No such file or directory
26 | #include <string.h> /
memcpy */
| ^~~~~~~~~~
compilation terminated.
error: command ‘/usr/bin/arm-linux-gnueabihf-gcc’ failed with exit code 1
---------------------------------------- [0m
[31m ERROR: Failed building wheel for brotli [0m
[?25h Running setup.py clean for brotli
Building wheel for greenlet (setup.py) … [?25l- \ | error
[31m ERROR: Command errored out with exit status 1:
command: /usr/bin/python3 -u -c ‘import sys, setuptools, tokenize; sys.argv[0] = ‘"’"’/tmp/pip-install-tmuy2qn4/greenlet_beea8113248c41858d4829f9c1487ad5/setup.py’“'”‘; file=’“'”‘/tmp/pip-install-tmuy2qn4/greenlet_beea8113248c41858d4829f9c1487ad5/setup.py’“'”‘;f=getattr(tokenize, ‘"’“‘open’”’“‘, open)(file);code=f.read().replace(’”‘"’\r\n’“'”‘, ‘"’"’\n’“'”‘);f.close();exec(compile(code, file, ‘"’“‘exec’”’"‘))’ bdist_wheel -d /tmp/pip-wheel-s_md58yp
cwd: /tmp/pip-install-tmuy2qn4/greenlet_beea8113248c41858d4829f9c1487ad5/

DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/usr/include/python3.9 -c src/greenlet/greenlet.cpp -o build/temp.linux-aarch64-cpython-39/src/greenlet/greenlet.o
arm-linux-gnueabihf-gcc: fatal error: cannot execute ‘cc1plus’: execvp: No such file or directory
compilation terminated.
error: command ‘/usr/bin/arm-linux-gnueabihf-gcc’ failed with exit code 1
---------------------------------------- [0m
[31m ERROR: Failed building wheel for greenlet [0m
[?25h Running setup.py clean for greenlet
Building wheel for psutil (PEP 517) … [?25l- \ | error
[31m ERROR: Command errored out with exit status 1:
command: /usr/bin/python3 /tmp/tmpw8h6h479_in_process.py build_wheel /tmp/tmps8pqusi3
cwd: /tmp/pip-install-tmuy2qn4/psutil_5d89bcaddec1417fabc1569bb7b0f427
Complete output (49 lines):
/tmp/tmpfsl7axnw.c:1:10: fatal error: linux/ethtool.h: No such file or directory


error: command ‘/usr/bin/arm-linux-gnueabihf-gcc’ failed with exit code 1
---------------------------------------- [0m
[31m ERROR: Failed building wheel for psutil [0m
[?25h Building wheel for pyyaml (PEP 517) … [?25l- \ | / - done
[?25h Created wheel for pyyaml: filename=PyYAML-6.0-cp39-cp39-linux_aarch64.whl size=45334 sha256=9471899fc6fb3beb22ee9fcf22297336638e2699812456ec845622f1f84b47e2
Stored in directory: /root/.cache/pip/wheels/b4/0f/9a/d6af48581dda678920fccfb734f5d9f827c6ed5b4074c7eda8
Building wheel for sqlalchemy (setup.py) … [?25l- \ | / - \ | / - \ | / - \ | / - \ | / - \ done
[?25h Created wheel for sqlalchemy: filename=SQLAlchemy-1.4.43-cp39-cp39-linux_aarch64.whl size=1540207 sha256=12019c12dd00edfbd1e9a396a91b3d17f578275f232e047a833d7caa02483521
Stored in directory: /root/.cache/pip/wheels/4c/97/72/4a73ff291746529c05f8b8fd68c9e2beae1cce7d7cfa097f61
Successfully built pyyaml sqlalchemy
Failed to build brotli greenlet psutil
[31mERROR: Could not build wheels for psutil which use PEP 517 and cannot be installed directly

HI @mungo_park , I actually encountered the same behavior as you - after OSMC update in December, Flexget disappeared from the system, and no matter what I tried I can’t manage to find out how to reinstall Flexget on OSMC.
I ended up in installing DietPI distro on VirtualBox to make some testing, and I could successfully reinstall Flexget using the procedure listed here : RaspberryPi OS Lite | FlexGet

I then made a fresh reinstall of OSMC latest version, on a SDCARD to use with my Pi 3B+, and I thus followed the same procedure to install Flexget.
No matter what I again have the same error messages when installing.

I thus post the result of the error I receive, hoping you or someone else will understand better than I do, why Flexget fails to install on OSMC whereas it works well on DietPI in VM.

Thanks a lot in advance to whoever can shed some lights here :slight_smile:

(have to split the code, as I exceed the maximum length for a message)

osmc@osmc:/tmp$ ~/.local/bin/pipx install flexget
Fatal error from pip prevented installation. Full pip output in file:
    /home/osmc/.local/pipx/logs/cmd_2023-03-11_22.05.58_pip_errors.log

pip failed to build package:
    brotli

Some possibly relevant errors from pip install:
    error: subprocess-exited-with-error
    arm-linux-gnueabihf-gcc: fatal error: cannot execute 'cc1plus': execvp: No such file or directory
    error: command '/usr/bin/arm-linux-gnueabihf-gcc' failed with exit code 1
    error: legacy-install-failure

Error installing flexget.
osmc@osmc:/tmp$ cat /home/osmc/.local/pipx/logs/cmd_2023-03-11_2
cmd_2023-03-11_21.47.26.log             cmd_2023-03-11_21.47.57_pip_errors.log  cmd_2023-03-11_22.05.58_pip_errors.log
cmd_2023-03-11_21.47.57.log             cmd_2023-03-11_22.05.58.log
osmc@osmc:/tmp$ cat /home/osmc/.local/pipx/logs/cmd_2023-03-11_22.05.58
cmd_2023-03-11_22.05.58.log             cmd_2023-03-11_22.05.58_pip_errors.log
osmc@osmc:/tmp$ cat /home/osmc/.local/pipx/logs/cmd_2023-03-11_22.05.58_pip_errors.log
PIP STDOUT
----------
Collecting flexget
  Using cached FlexGet-3.5.30-py3-none-any.whl (9.1 MB)
Collecting certifi==2022.12.7
  Using cached certifi-2022.12.7-py3-none-any.whl (155 kB)
Collecting pygments==2.13.0
  Using cached Pygments-2.13.0-py3-none-any.whl (1.1 MB)
Collecting python-dateutil==2.8.2
  Using cached python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
Collecting babelfish==0.6.0
  Using cached babelfish-0.6.0-py3-none-any.whl (93 kB)
Collecting markupsafe==2.1.1
  Using cached MarkupSafe-2.1.1-py3-none-any.whl
Collecting pyrss2gen==1.1
  Using cached PyRSS2Gen-1.1-py3-none-any.whl
Collecting zc-lockfile==2.0
  Using cached zc.lockfile-2.0-py2.py3-none-any.whl (9.7 kB)
Collecting loguru==0.6.0
  Using cached loguru-0.6.0-py3-none-any.whl (58 kB)
Collecting autocommand==2.2.2
  Using cached autocommand-2.2.2-py3-none-any.whl (19 kB)
Collecting rpyc==5.3.1
  Using cached rpyc-5.3.1-py3-none-any.whl (74 kB)
Collecting plumbum==1.8.0
  Using cached plumbum-1.8.0-py3-none-any.whl (117 kB)
Collecting zxcvbn-python==4.4.24
  Using cached zxcvbn_python-4.4.24-py3-none-any.whl
Collecting zipp==3.11.0
  Using cached zipp-3.11.0-py3-none-any.whl (6.6 kB)
Collecting pytz==2022.6
  Using cached pytz-2022.6-py2.py3-none-any.whl (498 kB)
Collecting pytz-deprecation-shim==0.1.0.post0
  Using cached pytz_deprecation_shim-0.1.0.post0-py2.py3-none-any.whl (15 kB)
Collecting rebulk==3.1.0
  Using cached rebulk-3.1.0-py3-none-any.whl (56 kB)
Collecting tzlocal==4.2
  Using cached tzlocal-4.2-py3-none-any.whl (19 kB)
Collecting pyrsistent==0.19.2
  Using cached pyrsistent-0.19.2-py3-none-any.whl (57 kB)
Collecting webencodings==0.5.1
  Using cached webencodings-0.5.1-py2.py3-none-any.whl (11 kB)
Collecting importlib-metadata==5.1.0
  Using cached importlib_metadata-5.1.0-py3-none-any.whl (21 kB)
Collecting tzdata==2022.7
  Using cached tzdata-2022.7-py2.py3-none-any.whl (340 kB)
Collecting sgmllib3k==1.0.0
  Using cached sgmllib3k-1.0.0-py3-none-any.whl
Collecting packaging==22.0
  Using cached packaging-22.0-py3-none-any.whl (42 kB)
Collecting flask-compress==1.13
  Using cached Flask_Compress-1.13-py3-none-any.whl (7.9 kB)
Collecting portend==3.1.0
  Using cached portend-3.1.0-py3-none-any.whl (5.3 kB)
Collecting setuptools==65.6.3
  Using cached setuptools-65.6.3-py3-none-any.whl (1.2 MB)
Collecting pynzb==0.1.0
  Using cached pynzb-0.1.0-py3-none-any.whl
Collecting html5lib==1.1
  Using cached html5lib-1.1-py2.py3-none-any.whl (112 kB)
Collecting commonmark==0.9.1
  Using cached commonmark-0.9.1-py2.py3-none-any.whl (51 kB)
Collecting flask-login==0.6.2
  Using cached Flask_Login-0.6.2-py3-none-any.whl (17 kB)
Collecting flask-restx==1.0.3
  Using cached flask_restx-1.0.3-py2.py3-none-any.whl (5.3 MB)
Collecting aniso8601==9.0.1
  Using cached aniso8601-9.0.1-py2.py3-none-any.whl (52 kB)
Collecting typing-extensions==4.4.0
  Using cached typing_extensions-4.4.0-py3-none-any.whl (26 kB)
Collecting colorama==0.4.6
  Using cached colorama-0.4.6-py2.py3-none-any.whl (25 kB)
Collecting feedparser==6.0.10
  Using cached feedparser-6.0.10-py3-none-any.whl (81 kB)
Collecting flask-cors==3.0.10
  Using cached Flask_Cors-3.0.10-py2.py3-none-any.whl (14 kB)
Collecting jaraco-classes==3.2.3
  Using cached jaraco.classes-3.2.3-py3-none-any.whl (6.0 kB)
Collecting requests==2.28.1
  Using cached requests-2.28.1-py3-none-any.whl (62 kB)
Collecting jinja2==3.1.2
  Using cached Jinja2-3.1.2-py3-none-any.whl (133 kB)
Collecting sqlalchemy==1.4.45
  Using cached SQLAlchemy-1.4.45-cp39-cp39-linux_armv7l.whl
Collecting pyyaml==6.0
  Using cached PyYAML-6.0-cp39-cp39-linux_armv7l.whl
Collecting idna==3.4
  Using cached idna-3.4-py3-none-any.whl (61 kB)
Collecting jaraco-text==3.11.0
  Using cached jaraco.text-3.11.0-py3-none-any.whl (11 kB)
Collecting charset-normalizer==2.1.1
  Using cached charset_normalizer-2.1.1-py3-none-any.whl (39 kB)
Collecting werkzeug==2.2.3
  Using cached Werkzeug-2.2.3-py3-none-any.whl (233 kB)
Collecting inflect==6.0.2
  Using cached inflect-6.0.2-py3-none-any.whl (34 kB)
Collecting jsonschema==4.17.3
  Using cached jsonschema-4.17.3-py3-none-any.whl (90 kB)
Collecting click==8.1.3
  Using cached click-8.1.3-py3-none-any.whl (96 kB)
Collecting soupsieve==2.3.2.post1
  Using cached soupsieve-2.3.2.post1-py3-none-any.whl (37 kB)
Collecting jaraco-collections==3.8.0
  Using cached jaraco.collections-3.8.0-py3-none-any.whl (10 kB)
Collecting beautifulsoup4==4.11.1
  Using cached beautifulsoup4-4.11.1-py3-none-any.whl (128 kB)
Collecting itsdangerous==2.1.2
  Using cached itsdangerous-2.1.2-py3-none-any.whl (15 kB)
Collecting six==1.16.0
  Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting attrs==22.1.0
  Using cached attrs-22.1.0-py2.py3-none-any.whl (58 kB)
Collecting tempora==5.1.0
  Using cached tempora-5.1.0-py3-none-any.whl (15 kB)
Collecting brotli==1.0.9
  Using cached Brotli-1.0.9.zip (510 kB)
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'done'
Collecting cherrypy==18.8.0
  Using cached CherryPy-18.8.0-py2.py3-none-any.whl (348 kB)
Collecting flask-restful==0.3.9
  Using cached Flask_RESTful-0.3.9-py2.py3-none-any.whl (25 kB)
Collecting cheroot==9.0.0
  Using cached cheroot-9.0.0-py2.py3-none-any.whl (100 kB)
Collecting psutil==5.9.4
  Using cached psutil-5.9.4.tar.gz (485 kB)
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'done'
Collecting rich==12.6.0
  Using cached rich-12.6.0-py3-none-any.whl (237 kB)
Collecting jaraco-context==4.2.0
  Using cached jaraco.context-4.2.0-py3-none-any.whl (5.0 kB)
Collecting pyparsing==3.0.9
  Using cached pyparsing-3.0.9-py3-none-any.whl (98 kB)
Collecting apscheduler==3.9.1.post1
  Using cached APScheduler-3.9.1.post1-py2.py3-none-any.whl (59 kB)
Collecting guessit==3.5.0
  Using cached guessit-3.5.0-py3-none-any.whl (167 kB)
Collecting pydantic==1.10.2
  Using cached pydantic-1.10.2-py3-none-any.whl (154 kB)
Collecting jaraco-functools==3.5.2
  Using cached jaraco.functools-3.5.2-py3-none-any.whl (7.3 kB)
Collecting urllib3==1.26.13
  Using cached urllib3-1.26.13-py2.py3-none-any.whl (140 kB)
Collecting more-itertools==9.0.0
  Using cached more_itertools-9.0.0-py3-none-any.whl (52 kB)
Collecting flask==2.2.2
  Using cached Flask-2.2.2-py3-none-any.whl (101 kB)
Building wheels for collected packages: brotli, psutil
  Building wheel for brotli (setup.py): started
  Building wheel for brotli (setup.py): still running...
  Building wheel for brotli (setup.py): still running...
  Building wheel for brotli (setup.py): still running...
  Building wheel for brotli (setup.py): finished with status 'error'
  Running setup.py clean for brotli
  Building wheel for psutil (pyproject.toml): started
  Building wheel for psutil (pyproject.toml): finished with status 'done'
  Created wheel for psutil: filename=psutil-5.9.4-cp39-abi3-linux_armv7l.whl size=273667 sha256=0162fe6c18fb81b5c1b0998cd08d123ee0a211aaf42492adb9b616845c968497
  Stored in directory: /home/osmc/.cache/pip/wheels/b3/e1/ef/72253145950aea37e83c8c13a844c583e2b575f1c93598901d
Successfully built psutil
Failed to build brotli
Installing collected packages: zxcvbn-python, webencodings, sgmllib3k, rebulk, pytz, pyrss2gen, commonmark, brotli, aniso8601, zipp, urllib3, tzdata, typing-extensions, sqlalchemy, soupsieve, six, setuptools, pyyaml, pyrsistent, pyparsing, pygments, psutil, plumbum, packaging, more-itertools, markupsafe, loguru, jaraco-context, itsdangerous, idna, feedparser, colorama, click, charset-normalizer, certifi, babelfish, autocommand, attrs, zc-lockfile, werkzeug, rpyc, rich, requests, pytz-deprecation-shim, python-dateutil, pynzb, pydantic, jsonschema, jinja2, jaraco-functools, jaraco-classes, importlib-metadata, html5lib, beautifulsoup4, tzlocal, tempora, inflect, guessit, flask, cheroot, portend, jaraco-text, flask-restx, flask-restful, flask-login, flask-cors, flask-compress, apscheduler, jaraco-collections, cherrypy, flexget
  Running setup.py install for brotli: started
  Running setup.py install for brotli: still running...
  Running setup.py install for brotli: still running...
  Running setup.py install for brotli: still running...
  Running setup.py install for brotli: finished with status 'error'

PIP STDERR
----------
  error: subprocess-exited-with-error

  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [49 lines of output]
      /home/osmc/.local/pipx/shared/lib/python3.9/site-packages/setuptools/dist.py:788: UserWarning: Usage of dash-separated 'build-base' will not be supported in future versions. Please use the underscore name 'build_base' instead
        warnings.warn(
      running bdist_wheel
      running build
      running build_py
      creating bin
      creating bin/lib.linux-armv7l-cpython-39
      copying python/brotli.py -> bin/lib.linux-armv7l-cpython-39
      running build_ext
      building '_brotli' extension
      creating bin/temp.linux-armv7l-cpython-39
      creating bin/temp.linux-armv7l-cpython-39/c
      creating bin/temp.linux-armv7l-cpython-39/c/common
      creating bin/temp.linux-armv7l-cpython-39/c/dec
      creating bin/temp.linux-armv7l-cpython-39/c/enc
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/common/constants.c -o bin/temp.linux-armv7l-cpython-39/c/common/constants.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/common/context.c -o bin/temp.linux-armv7l-cpython-39/c/common/context.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/common/dictionary.c -o bin/temp.linux-armv7l-cpython-39/c/common/dictionary.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/common/platform.c -o bin/temp.linux-armv7l-cpython-39/c/common/platform.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/common/transform.c -o bin/temp.linux-armv7l-cpython-39/c/common/transform.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/dec/bit_reader.c -o bin/temp.linux-armv7l-cpython-39/c/dec/bit_reader.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/dec/decode.c -o bin/temp.linux-armv7l-cpython-39/c/dec/decode.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/dec/huffman.c -o bin/temp.linux-armv7l-cpython-39/c/dec/huffman.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/dec/state.c -o bin/temp.linux-armv7l-cpython-39/c/dec/state.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/enc/backward_references.c -o bin/temp.linux-armv7l-cpython-39/c/enc/backward_references.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/enc/backward_references_hq.c -o bin/temp.linux-armv7l-cpython-39/c/enc/backward_references_hq.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/enc/bit_cost.c -o bin/temp.linux-armv7l-cpython-39/c/enc/bit_cost.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/enc/block_splitter.c -o bin/temp.linux-armv7l-cpython-39/c/enc/block_splitter.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/enc/brotli_bit_stream.c -o bin/temp.linux-armv7l-cpython-39/c/enc/brotli_bit_stream.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/enc/cluster.c -o bin/temp.linux-armv7l-cpython-39/c/enc/cluster.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/enc/command.c -o bin/temp.linux-armv7l-cpython-39/c/enc/command.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/enc/compress_fragment.c -o bin/temp.linux-armv7l-cpython-39/c/enc/compress_fragment.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/enc/compress_fragment_two_pass.c -o bin/temp.linux-armv7l-cpython-39/c/enc/compress_fragment_two_pass.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/enc/dictionary_hash.c -o bin/temp.linux-armv7l-cpython-39/c/enc/dictionary_hash.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/enc/encode.c -o bin/temp.linux-armv7l-cpython-39/c/enc/encode.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/enc/encoder_dict.c -o bin/temp.linux-armv7l-cpython-39/c/enc/encoder_dict.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/enc/entropy_encode.c -o bin/temp.linux-armv7l-cpython-39/c/enc/entropy_encode.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/enc/fast_log.c -o bin/temp.linux-armv7l-cpython-39/c/enc/fast_log.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/enc/histogram.c -o bin/temp.linux-armv7l-cpython-39/c/enc/histogram.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/enc/literal_cost.c -o bin/temp.linux-armv7l-cpython-39/c/enc/literal_cost.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/enc/memory.c -o bin/temp.linux-armv7l-cpython-39/c/enc/memory.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/enc/metablock.c -o bin/temp.linux-armv7l-cpython-39/c/enc/metablock.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/enc/static_dict.c -o bin/temp.linux-armv7l-cpython-39/c/enc/static_dict.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/enc/utf8_util.c -o bin/temp.linux-armv7l-cpython-39/c/enc/utf8_util.o
      creating bin/temp.linux-armv7l-cpython-39/python
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c python/_brotli.cc -o bin/temp.linux-armv7l-cpython-39/python/_brotli.o
      arm-linux-gnueabihf-gcc: fatal error: cannot execute 'cc1plus': execvp: No such file or directory
      compilation terminated.
      error: command '/usr/bin/arm-linux-gnueabihf-gcc' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for brotli
  error: subprocess-exited-with-error

  × Running setup.py install for brotli did not run successfully.
  │ exit code: 1
  ╰─> [51 lines of output]
      /home/osmc/.local/pipx/shared/lib/python3.9/site-packages/setuptools/dist.py:788: UserWarning: Usage of dash-separated 'build-base' will not be supported in future versions. Please use the underscore name 'build_base' instead
        warnings.warn(
      running install
      /home/osmc/.local/pipx/shared/lib/python3.9/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
        warnings.warn(
      running build
      running build_py
      creating bin
      creating bin/lib.linux-armv7l-cpython-39
      copying python/brotli.py -> bin/lib.linux-armv7l-cpython-39
      running build_ext
      building '_brotli' extension
      creating bin/temp.linux-armv7l-cpython-39
      creating bin/temp.linux-armv7l-cpython-39/c
      creating bin/temp.linux-armv7l-cpython-39/c/common
      creating bin/temp.linux-armv7l-cpython-39/c/dec
      creating bin/temp.linux-armv7l-cpython-39/c/enc
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/common/constants.c -o bin/temp.linux-armv7l-cpython-39/c/common/constants.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/common/context.c -o bin/temp.linux-armv7l-cpython-39/c/common/context.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/common/dictionary.c -o bin/temp.linux-armv7l-cpython-39/c/common/dictionary.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/common/platform.c -o bin/temp.linux-armv7l-cpython-39/c/common/platform.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/common/transform.c -o bin/temp.linux-armv7l-cpython-39/c/common/transform.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/dec/bit_reader.c -o bin/temp.linux-armv7l-cpython-39/c/dec/bit_reader.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/dec/decode.c -o bin/temp.linux-armv7l-cpython-39/c/dec/decode.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/dec/huffman.c -o bin/temp.linux-armv7l-cpython-39/c/dec/huffman.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/dec/state.c -o bin/temp.linux-armv7l-cpython-39/c/dec/state.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/enc/backward_references.c -o bin/temp.linux-armv7l-cpython-39/c/enc/backward_references.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/enc/backward_references_hq.c -o bin/temp.linux-armv7l-cpython-39/c/enc/backward_references_hq.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/enc/bit_cost.c -o bin/temp.linux-armv7l-cpython-39/c/enc/bit_cost.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/enc/block_splitter.c -o bin/temp.linux-armv7l-cpython-39/c/enc/block_splitter.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/enc/brotli_bit_stream.c -o bin/temp.linux-armv7l-cpython-39/c/enc/brotli_bit_stream.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/enc/cluster.c -o bin/temp.linux-armv7l-cpython-39/c/enc/cluster.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/enc/command.c -o bin/temp.linux-armv7l-cpython-39/c/enc/command.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/enc/compress_fragment.c -o bin/temp.linux-armv7l-cpython-39/c/enc/compress_fragment.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/enc/compress_fragment_two_pass.c -o bin/temp.linux-armv7l-cpython-39/c/enc/compress_fragment_two_pass.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/enc/dictionary_hash.c -o bin/temp.linux-armv7l-cpython-39/c/enc/dictionary_hash.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/enc/encode.c -o bin/temp.linux-armv7l-cpython-39/c/enc/encode.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/enc/encoder_dict.c -o bin/temp.linux-armv7l-cpython-39/c/enc/encoder_dict.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/enc/entropy_encode.c -o bin/temp.linux-armv7l-cpython-39/c/enc/entropy_encode.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/enc/fast_log.c -o bin/temp.linux-armv7l-cpython-39/c/enc/fast_log.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/enc/histogram.c -o bin/temp.linux-armv7l-cpython-39/c/enc/histogram.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/enc/literal_cost.c -o bin/temp.linux-armv7l-cpython-39/c/enc/literal_cost.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/enc/memory.c -o bin/temp.linux-armv7l-cpython-39/c/enc/memory.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/enc/metablock.c -o bin/temp.linux-armv7l-cpython-39/c/enc/metablock.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/enc/static_dict.c -o bin/temp.linux-armv7l-cpython-39/c/enc/static_dict.o
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c c/enc/utf8_util.c -o bin/temp.linux-armv7l-cpython-39/c/enc/utf8_util.o
      creating bin/temp.linux-armv7l-cpython-39/python
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ic/include -I/home/osmc/.local/pipx/venvs/flexget/include -I/usr/include/python3.9 -c python/_brotli.cc -o bin/temp.linux-armv7l-cpython-39/python/_brotli.o
      arm-linux-gnueabihf-gcc: fatal error: cannot execute 'cc1plus': execvp: No such file or directory
      compilation terminated.
      error: command '/usr/bin/arm-linux-gnueabihf-gcc' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: legacy-install-failure

× Encountered error while trying to install package.
╰─> brotli

note: This is an issue with the package mentioned above, not pip.
hint: See above for output from the failure.

Make sure you have development tools installed (build-essential package)
Don’t cross compile.

1 Like

Once again, the king @sam_nazarko has resolved an issue in just 2 seconds, while I spent 2 months pulling my hair away without finding a clue how to move forward. :upside_down_face:

You were 100% right @sam_nazarko : installing build essential package first, resolved all the issue.

So first running this cmdline

sudo apt install build-essential

Secondly running the cmdline works fine

sudo pip install flexget

Thx again for your valuable help Sir ! :+1:

Cheers.

Thanks to @davidinfodom for reviving this thread! I had temporarily given up on getting flexget running again.

I tried to install the essential package as suggested in the thread, but I ran into the same error as before. I then tried a fresh install of the OSMC software on my Vero 4K+, checked for updates, installed the essential package, installed pip, and tried to install flexget again. The installation still failed at the stage of installing brotli and the other wheels.

This leads me to think there must be something about the way I have installed pip that is incompatible with these packages. Could anyone advise on the correct command to install pip? Or maybe this has something to do with the version of Python flexget is trying to use? It’s all a bit beyond me – any help is much appreciated!

Can you show me the error you get as well as a log from My OSMC?
Then I can check if something obvious is missing

Cheers

Sam

Many thanks, Sam. I still had my terminal session from last night open, so I’m pasting the output from my attempt to install flexget. I unfortunately re-installed OSMC before saving the log. I hope the terminal transcript is enough for you to go on - if not, please let me know and I’ll retrace my steps with the new installation.

osmc@osmc:~$ sudo pip install flexget

< skipped successful part of installation >

Building wheel for brotli (setup.py) … error
ERROR: Command errored out with exit status 1:
command: /usr/bin/python3 -u -c ‘import sys, setuptools, tokenize; sys.argv[0] = ‘"’"’/tmp/pip-install-8uqzdrme/brotli_c25a9e68ada54e2085cdde69fa71efd0/setup.py’“'”‘; file=’“'”‘/tmp/pip-install-8uqzdrme/brotli_c25a9e68ada54e2085cdde69fa71efd0/setup.py’“'”‘;f=getattr(tokenize, ‘"’“‘open’”’“‘, open)(file);code=f.read().replace(’”‘"’\r\n’“'”‘, ‘"’"’\n’“'”‘);f.close();exec(compile(code, file, ‘"’“‘exec’”’"‘))’ bdist_wheel -d /tmp/pip-wheel-aqzvph28
cwd: /tmp/pip-install-8uqzdrme/brotli_c25a9e68ada54e2085cdde69fa71efd0/
Complete output (49 lines):
running bdist_wheel
running build
running build_py
creating bin
creating bin/lib.linux-aarch64-3.9
copying python/brotli.py → bin/lib.linux-aarch64-3.9
running build_ext
building ‘_brotli’ extension
creating bin/temp.linux-aarch64-3.9
creating bin/temp.linux-aarch64-3.9/c
creating bin/temp.linux-aarch64-3.9/c/common
creating bin/temp.linux-aarch64-3.9/c/dec
creating bin/temp.linux-aarch64-3.9/c/enc
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Ic/include -I/usr/include/python3.9 -c c/common/constants.c -o bin/temp.linux-aarch64-3.9/c/common/constants.o
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Ic/include -I/usr/include/python3.9 -c c/common/context.c -o bin/temp.linux-aarch64-3.9/c/common/context.o
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Ic/include -I/usr/include/python3.9 -c c/common/dictionary.c -o bin/temp.linux-aarch64-3.9/c/common/dictionary.o
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Ic/include -I/usr/include/python3.9 -c c/common/platform.c -o bin/temp.linux-aarch64-3.9/c/common/platform.o
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Ic/include -I/usr/include/python3.9 -c c/common/transform.c -o bin/temp.linux-aarch64-3.9/c/common/transform.o
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Ic/include -I/usr/include/python3.9 -c c/dec/bit_reader.c -o bin/temp.linux-aarch64-3.9/c/dec/bit_reader.o
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Ic/include -I/usr/include/python3.9 -c c/dec/decode.c -o bin/temp.linux-aarch64-3.9/c/dec/decode.o
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Ic/include -I/usr/include/python3.9 -c c/dec/huffman.c -o bin/temp.linux-aarch64-3.9/c/dec/huffman.o
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Ic/include -I/usr/include/python3.9 -c c/dec/state.c -o bin/temp.linux-aarch64-3.9/c/dec/state.o
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Ic/include -I/usr/include/python3.9 -c c/enc/backward_references.c -o bin/temp.linux-aarch64-3.9/c/enc/backward_references.o
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Ic/include -I/usr/include/python3.9 -c c/enc/backward_references_hq.c -o bin/temp.linux-aarch64-3.9/c/enc/backward_references_hq.o
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Ic/include -I/usr/include/python3.9 -c c/enc/bit_cost.c -o bin/temp.linux-aarch64-3.9/c/enc/bit_cost.o
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Ic/include -I/usr/include/python3.9 -c c/enc/block_splitter.c -o bin/temp.linux-aarch64-3.9/c/enc/block_splitter.o
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Ic/include -I/usr/include/python3.9 -c c/enc/brotli_bit_stream.c -o bin/temp.linux-aarch64-3.9/c/enc/brotli_bit_stream.o
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Ic/include -I/usr/include/python3.9 -c c/enc/cluster.c -o bin/temp.linux-aarch64-3.9/c/enc/cluster.o
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Ic/include -I/usr/include/python3.9 -c c/enc/command.c -o bin/temp.linux-aarch64-3.9/c/enc/command.o
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Ic/include -I/usr/include/python3.9 -c c/enc/compress_fragment.c -o bin/temp.linux-aarch64-3.9/c/enc/compress_fragment.o
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Ic/include -I/usr/include/python3.9 -c c/enc/compress_fragment_two_pass.c -o bin/temp.linux-aarch64-3.9/c/enc/compress_fragment_two_pass.o
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Ic/include -I/usr/include/python3.9 -c c/enc/dictionary_hash.c -o bin/temp.linux-aarch64-3.9/c/enc/dictionary_hash.o
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Ic/include -I/usr/include/python3.9 -c c/enc/encode.c -o bin/temp.linux-aarch64-3.9/c/enc/encode.o
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Ic/include -I/usr/include/python3.9 -c c/enc/encoder_dict.c -o bin/temp.linux-aarch64-3.9/c/enc/encoder_dict.o
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Ic/include -I/usr/include/python3.9 -c c/enc/entropy_encode.c -o bin/temp.linux-aarch64-3.9/c/enc/entropy_encode.o
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Ic/include -I/usr/include/python3.9 -c c/enc/fast_log.c -o bin/temp.linux-aarch64-3.9/c/enc/fast_log.o
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Ic/include -I/usr/include/python3.9 -c c/enc/histogram.c -o bin/temp.linux-aarch64-3.9/c/enc/histogram.o
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Ic/include -I/usr/include/python3.9 -c c/enc/literal_cost.c -o bin/temp.linux-aarch64-3.9/c/enc/literal_cost.o
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Ic/include -I/usr/include/python3.9 -c c/enc/memory.c -o bin/temp.linux-aarch64-3.9/c/enc/memory.o
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Ic/include -I/usr/include/python3.9 -c c/enc/metablock.c -o bin/temp.linux-aarch64-3.9/c/enc/metablock.o
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Ic/include -I/usr/include/python3.9 -c c/enc/static_dict.c -o bin/temp.linux-aarch64-3.9/c/enc/static_dict.o

< skipped part here to keep post within character limits >

creating bin/temp.linux-aarch64-3.9/python
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Ic/include -I/usr/include/python3.9 -c python/_brotli.cc -o bin/temp.linux-aarch64-3.9/python/_brotli.o
python/_brotli.cc:2:10: fatal error: Python.h: No such file or directory
2 | #include <Python.h>
| ^~~~~~~~~~
compilation terminated.
error: command ‘/usr/bin/arm-linux-gnueabihf-gcc’ failed with exit code 1

ERROR: Failed building wheel for brotli
Running setup.py clean for brotli
Building wheel for greenlet (setup.py) … error
ERROR: Command errored out with exit status 1:
command: /usr/bin/python3 -u -c ‘import sys, setuptools, tokenize; sys.argv[0] = ‘"’"’/tmp/pip-install-8uqzdrme/greenlet_6a703a43dbb949d8a5e0495036324f21/setup.py’“'”‘; file=’“'”‘/tmp/pip-install-8uqzdrme/greenlet_6a703a43dbb949d8a5e0495036324f21/setup.py’“'”‘;f=getattr(tokenize, ‘"’“‘open’”’“‘, open)(file);code=f.read().replace(’”‘"’\r\n’“'”‘, ‘"’"’\n’“'”‘);f.close();exec(compile(code, file, ‘"’“‘exec’”’"‘))’ bdist_wheel -d /tmp/pip-wheel-5_5tkdmi
cwd: /tmp/pip-install-8uqzdrme/greenlet_6a703a43dbb949d8a5e0495036324f21/
Complete output (95 lines):
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-aarch64-3.9
creating build/lib.linux-aarch64-3.9/greenlet
copying src/greenlet/init.py → build/lib.linux-aarch64-3.9/greenlet
creating build/lib.linux-aarch64-3.9/greenlet/tests
copying src/greenlet/tests/test_generator.py → build/lib.linux-aarch64-3.9/greenlet/tests
copying src/greenlet/tests/test_extension_interface.py → build/lib.linux-aarch64-3.9/greenlet/tests
copying src/greenlet/tests/init.py → build/lib.linux-aarch64-3.9/greenlet/tests
copying src/greenlet/tests/test_contextvars.py → build/lib.linux-aarch64-3.9/greenlet/tests
copying src/greenlet/tests/test_weakref.py → build/lib.linux-aarch64-3.9/greenlet/tests
copying src/greenlet/tests/test_throw.py → build/lib.linux-aarch64-3.9/greenlet/tests
copying src/greenlet/tests/test_stack_saved.py → build/lib.linux-aarch64-3.9/greenlet/tests
copying src/greenlet/tests/test_greenlet_trash.py → build/lib.linux-aarch64-3.9/greenlet/tests
copying src/greenlet/tests/test_greenlet.py → build/lib.linux-aarch64-3.9/greenlet/tests
copying src/greenlet/tests/test_leaks.py → build/lib.linux-aarch64-3.9/greenlet/tests
copying src/greenlet/tests/test_cpp.py → build/lib.linux-aarch64-3.9/greenlet/tests
copying src/greenlet/tests/test_generator_nested.py → build/lib.linux-aarch64-3.9/greenlet/tests
copying src/greenlet/tests/test_version.py → build/lib.linux-aarch64-3.9/greenlet/tests
copying src/greenlet/tests/test_tracing.py → build/lib.linux-aarch64-3.9/greenlet/tests
copying src/greenlet/tests/leakcheck.py → build/lib.linux-aarch64-3.9/greenlet/tests
copying src/greenlet/tests/test_gc.py → build/lib.linux-aarch64-3.9/greenlet/tests
creating build/lib.linux-aarch64-3.9/greenlet/platform
copying src/greenlet/platform/init.py → build/lib.linux-aarch64-3.9/greenlet/platform
running egg_info
writing src/greenlet.egg-info/PKG-INFO
writing dependency_links to src/greenlet.egg-info/dependency_links.txt
writing requirements to src/greenlet.egg-info/requires.txt
writing top-level names to src/greenlet.egg-info/top_level.txt
reading manifest file ‘src/greenlet.egg-info/SOURCES.txt’
reading manifest template ‘MANIFEST.in’
warning: no previously-included files found matching ‘benchmarks/.json’
no previously-included directories found matching ‘docs/_build’
warning: no files found matching '
.py’ under directory ‘appveyor’
warning: no previously-included files matching ‘.pyc’ found anywhere in distribution
warning: no previously-included files matching '
.pyd’ found anywhere in distribution
warning: no previously-included files matching ‘*.so’ found anywhere in distribution
warning: no previously-included files matching ‘.coverage’ found anywhere in distribution
writing manifest file ‘src/greenlet.egg-info/SOURCES.txt’
copying src/greenlet/greenlet.cpp → build/lib.linux-aarch64-3.9/greenlet
copying src/greenlet/greenlet.h → build/lib.linux-aarch64-3.9/greenlet
copying src/greenlet/greenlet_allocator.hpp → build/lib.linux-aarch64-3.9/greenlet
copying src/greenlet/greenlet_compiler_compat.hpp → build/lib.linux-aarch64-3.9/greenlet
copying src/greenlet/greenlet_cpython_compat.hpp → build/lib.linux-aarch64-3.9/greenlet
copying src/greenlet/greenlet_exceptions.hpp → build/lib.linux-aarch64-3.9/greenlet
copying src/greenlet/greenlet_greenlet.hpp → build/lib.linux-aarch64-3.9/greenlet
copying src/greenlet/greenlet_internal.hpp → build/lib.linux-aarch64-3.9/greenlet
copying src/greenlet/greenlet_refs.hpp → build/lib.linux-aarch64-3.9/greenlet
copying src/greenlet/greenlet_slp_switch.hpp → build/lib.linux-aarch64-3.9/greenlet
copying src/greenlet/greenlet_thread_state.hpp → build/lib.linux-aarch64-3.9/greenlet
copying src/greenlet/greenlet_thread_state_dict_cleanup.hpp → build/lib.linux-aarch64-3.9/greenlet
copying src/greenlet/greenlet_thread_support.hpp → build/lib.linux-aarch64-3.9/greenlet
copying src/greenlet/slp_platformselect.h → build/lib.linux-aarch64-3.9/greenlet
copying src/greenlet/tests/_test_extension.c → build/lib.linux-aarch64-3.9/greenlet/tests
copying src/greenlet/tests/_test_extension_cpp.cpp → build/lib.linux-aarch64-3.9/greenlet/tests
copying src/greenlet/platform/setup_switch_x64_masm.cmd → build/lib.linux-aarch64-3.9/greenlet/platform
copying src/greenlet/platform/switch_aarch64_gcc.h → build/lib.linux-aarch64-3.9/greenlet/platform
copying src/greenlet/platform/switch_alpha_unix.h → build/lib.linux-aarch64-3.9/greenlet/platform
copying src/greenlet/platform/switch_amd64_unix.h → build/lib.linux-aarch64-3.9/greenlet/platform
copying src/greenlet/platform/switch_arm32_gcc.h → build/lib.linux-aarch64-3.9/greenlet/platform
copying src/greenlet/platform/switch_arm32_ios.h → build/lib.linux-aarch64-3.9/greenlet/platform
copying src/greenlet/platform/switch_arm64_masm.asm → build/lib.linux-aarch64-3.9/greenlet/platform
copying src/greenlet/platform/switch_arm64_masm.obj → build/lib.linux-aarch64-3.9/greenlet/platform
copying src/greenlet/platform/switch_arm64_msvc.h → build/lib.linux-aarch64-3.9/greenlet/platform
copying src/greenlet/platform/switch_csky_gcc.h → build/lib.linux-aarch64-3.9/greenlet/platform
copying src/greenlet/platform/switch_m68k_gcc.h → build/lib.linux-aarch64-3.9/greenlet/platform
copying src/greenlet/platform/switch_mips_unix.h → build/lib.linux-aarch64-3.9/greenlet/platform
copying src/greenlet/platform/switch_ppc64_aix.h → build/lib.linux-aarch64-3.9/greenlet/platform
copying src/greenlet/platform/switch_ppc64_linux.h → build/lib.linux-aarch64-3.9/greenlet/platform
copying src/greenlet/platform/switch_ppc_aix.h → build/lib.linux-aarch64-3.9/greenlet/platform
copying src/greenlet/platform/switch_ppc_linux.h → build/lib.linux-aarch64-3.9/greenlet/platform
copying src/greenlet/platform/switch_ppc_macosx.h → build/lib.linux-aarch64-3.9/greenlet/platform
copying src/greenlet/platform/switch_ppc_unix.h → build/lib.linux-aarch64-3.9/greenlet/platform
copying src/greenlet/platform/switch_riscv_unix.h → build/lib.linux-aarch64-3.9/greenlet/platform
copying src/greenlet/platform/switch_s390_unix.h → build/lib.linux-aarch64-3.9/greenlet/platform
copying src/greenlet/platform/switch_sparc_sun_gcc.h → build/lib.linux-aarch64-3.9/greenlet/platform
copying src/greenlet/platform/switch_x32_unix.h → build/lib.linux-aarch64-3.9/greenlet/platform
copying src/greenlet/platform/switch_x64_masm.asm → build/lib.linux-aarch64-3.9/greenlet/platform
copying src/greenlet/platform/switch_x64_masm.obj → build/lib.linux-aarch64-3.9/greenlet/platform
copying src/greenlet/platform/switch_x64_msvc.h → build/lib.linux-aarch64-3.9/greenlet/platform
copying src/greenlet/platform/switch_x86_msvc.h → build/lib.linux-aarch64-3.9/greenlet/platform
copying src/greenlet/platform/switch_x86_unix.h → build/lib.linux-aarch64-3.9/greenlet/platform
running build_ext
building ‘greenlet._greenlet’ extension
creating build/temp.linux-aarch64-3.9
creating build/temp.linux-aarch64-3.9/src
creating build/temp.linux-aarch64-3.9/src/greenlet
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.9 -c src/greenlet/greenlet.cpp -o build/temp.linux-aarch64-3.9/src/greenlet/greenlet.o
src/greenlet/greenlet.cpp:16:10: fatal error: Python.h: No such file or directory
16 | #include <Python.h>
| ^~~~~~~~~~
compilation terminated.
error: command ‘/usr/bin/arm-linux-gnueabihf-gcc’ failed with exit code 1

ERROR: Failed building wheel for greenlet
Running setup.py clean for greenlet
Building wheel for markupsafe (setup.py) … done
Created wheel for markupsafe: filename=MarkupSafe-2.1.1-py3-none-any.whl size=9651 sha256=491eac15d9a4d31f9eec23d95a0a2e63a63b689da3b27694440c93010f8d53b2
Stored in directory: /root/.cache/pip/wheels/7b/7d/66/70e1d8455037024582e80888330322b2dc6f629608a0fbea01
Building wheel for psutil (PEP 517) … error
ERROR: Command errored out with exit status 1:
command: /usr/bin/python3 /tmp/tmprjqve26i_in_process.py build_wheel /tmp/tmpvzg4k9ih
cwd: /tmp/pip-install-8uqzdrme/psutil_fac3fa34e24e4af0b8194de12cf6b5cc
Complete output (45 lines):
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-aarch64-cpython-39
creating build/lib.linux-aarch64-cpython-39/psutil
copying psutil/_pswindows.py → build/lib.linux-aarch64-cpython-39/psutil
copying psutil/init.py → build/lib.linux-aarch64-cpython-39/psutil
copying psutil/_psosx.py → build/lib.linux-aarch64-cpython-39/psutil
copying psutil/_pslinux.py → build/lib.linux-aarch64-cpython-39/psutil
copying psutil/_psbsd.py → build/lib.linux-aarch64-cpython-39/psutil
copying psutil/_psposix.py → build/lib.linux-aarch64-cpython-39/psutil
copying psutil/_pssunos.py → build/lib.linux-aarch64-cpython-39/psutil
copying psutil/_common.py → build/lib.linux-aarch64-cpython-39/psutil
copying psutil/_psaix.py → build/lib.linux-aarch64-cpython-39/psutil
copying psutil/_compat.py → build/lib.linux-aarch64-cpython-39/psutil
creating build/lib.linux-aarch64-cpython-39/psutil/tests
copying psutil/tests/test_connections.py → build/lib.linux-aarch64-cpython-39/psutil/tests
copying psutil/tests/test_system.py → build/lib.linux-aarch64-cpython-39/psutil/tests
copying psutil/tests/test_aix.py → build/lib.linux-aarch64-cpython-39/psutil/tests
copying psutil/tests/test_testutils.py → build/lib.linux-aarch64-cpython-39/psutil/tests
copying psutil/tests/test_bsd.py → build/lib.linux-aarch64-cpython-39/psutil/tests
copying psutil/tests/test_misc.py → build/lib.linux-aarch64-cpython-39/psutil/tests
copying psutil/tests/init.py → build/lib.linux-aarch64-cpython-39/psutil/tests
copying psutil/tests/test_windows.py → build/lib.linux-aarch64-cpython-39/psutil/tests
copying psutil/tests/test_sunos.py → build/lib.linux-aarch64-cpython-39/psutil/tests
copying psutil/tests/main.py → build/lib.linux-aarch64-cpython-39/psutil/tests
copying psutil/tests/test_osx.py → build/lib.linux-aarch64-cpython-39/psutil/tests
copying psutil/tests/test_contracts.py → build/lib.linux-aarch64-cpython-39/psutil/tests
copying psutil/tests/test_memleaks.py → build/lib.linux-aarch64-cpython-39/psutil/tests
copying psutil/tests/test_process.py → build/lib.linux-aarch64-cpython-39/psutil/tests
copying psutil/tests/test_posix.py → build/lib.linux-aarch64-cpython-39/psutil/tests
copying psutil/tests/test_unicode.py → build/lib.linux-aarch64-cpython-39/psutil/tests
copying psutil/tests/test_linux.py → build/lib.linux-aarch64-cpython-39/psutil/tests
copying psutil/tests/runner.py → build/lib.linux-aarch64-cpython-39/psutil/tests
running build_ext
building ‘psutil._psutil_linux’ extension
creating build/temp.linux-aarch64-cpython-39
creating build/temp.linux-aarch64-cpython-39/psutil
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -DPSUTIL_POSIX=1 -DPSUTIL_SIZEOF_PID_T=4 -DPSUTIL_VERSION=594 -DPy_LIMITED_API=0x03060000 -DPSUTIL_LINUX=1 -I/usr/include/python3.9 -c psutil/_psutil_common.c -o build/temp.linux-aarch64-cpython-39/psutil/_psutil_common.o
psutil/_psutil_common.c:9:10: fatal error: Python.h: No such file or directory
9 | #include <Python.h>
| ^~~~~~~~~~
compilation terminated.
error: command ‘/usr/bin/arm-linux-gnueabihf-gcc’ failed with exit code 1

ERROR: Failed building wheel for psutil
Building wheel for pynzb (setup.py) … done
Created wheel for pynzb: filename=pynzb-0.1.0-py3-none-any.whl size=6233 sha256=cbc38c0581895c86fb446a3c30a55331628f0b1bf3dc046586a4f7e7c31975ca
Stored in directory: /root/.cache/pip/wheels/5e/dd/55/7748041ca3955eb229d77ba63d37a8938579addb100660777b
Building wheel for pyrss2gen (setup.py) … done
Created wheel for pyrss2gen: filename=PyRSS2Gen-1.1-py3-none-any.whl size=4988 sha256=cb1d4d4db1b6cf490375df076fc1d4bc409ed6a57e4cdb1f6250f7b67f8e3b4a
Stored in directory: /root/.cache/pip/wheels/2f/08/17/8ca78226301286df3b479e30e6a9ec89dd2d98c7ff223e09c6
Building wheel for pyyaml (PEP 517) … done
Created wheel for pyyaml: filename=PyYAML-6.0-cp39-cp39-linux_aarch64.whl size=45333 sha256=b5aa55a2fb90b3c72d88b7a188fa3f5034bc41895437205e81a2b683338062dc
Stored in directory: /root/.cache/pip/wheels/b4/0f/9a/d6af48581dda678920fccfb734f5d9f827c6ed5b4074c7eda8
Building wheel for sgmllib3k (setup.py) … done
Created wheel for sgmllib3k: filename=sgmllib3k-1.0.0-py3-none-any.whl size=6064 sha256=0471e109418cb9b4dc847f184d593a279e09884919293260f65cd41873087389
Stored in directory: /root/.cache/pip/wheels/65/7a/a7/78c287f64e401255dff4c13fdbc672fed5efbfd21c530114e1
Building wheel for sqlalchemy (setup.py) … done
Created wheel for sqlalchemy: filename=SQLAlchemy-1.4.45-cp39-cp39-linux_aarch64.whl size=1559397 sha256=97de4c03b632713c2aca4f2a85d09f7656b50487e2b843e092b2ce392780ec19
Stored in directory: /root/.cache/pip/wheels/74/54/c4/9b20ee9fff59d370a5acdd8665f78e94459f38b1176acf5e1f
Building wheel for zxcvbn-python (setup.py) … done
Created wheel for zxcvbn-python: filename=zxcvbn_python-4.4.24-py3-none-any.whl size=408208 sha256=93cf673dce7aee5cda1961f0efc6fb72f869517f36ebf9a4ff5500d934b26a76
Stored in directory: /root/.cache/pip/wheels/f9/4e/fc/dbe3882c463dda0e749f0f16979609f7c1970d560741c7a630
Successfully built markupsafe pynzb pyrss2gen pyyaml sgmllib3k sqlalchemy zxcvbn-python
Failed to build brotli greenlet psutil
ERROR: Could not build wheels for psutil which use PEP 517 and cannot be installed directly

Try:

sudo apt-get install python-dev

Thank you Sam for the reply on Easter Sunday!

I had my hopes up after installing the python-dev package, but unfortunately the Flexget installation failed at the same point - installing the brotli wheel - with similar-looking error messages. Any more suggestions? Thanks again.

Are you sure it’s the same error: missing Python.h?

Hi Sam - I’m not sure, maybe you could take a look at the install log? Thank you again.

osmc@osmc:~$ sudo pip install flexget

< skipped some stuff >

  arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Ic/include -I/usr/include/python3.9 -c python/_brotli.cc -o bin/temp.linux-aarch64-3.9/python/_brotli.o
  python/_brotli.cc:2:10: fatal error: Python.h: No such file or directory
      2 | #include <Python.h>
        |          ^~~~~~~~~~
  compilation terminated.
  error: command '/usr/bin/arm-linux-gnueabihf-gcc' failed with exit code 1
  ----------------------------------------
  ERROR: Failed building wheel for brotli
  Running setup.py clean for brotli
  Building wheel for greenlet (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-e24ulvce/greenlet_877e067754b3459dba1183bc060d5d43/setup.py'"'"'; __file__='"'"'/tmp/pip-install-e24ulvce/greenlet_877e067754b3459dba1183bc060d5d43/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-uta71605
       cwd: /tmp/pip-install-e24ulvce/greenlet_877e067754b3459dba1183bc060d5d43/
  Complete output (95 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-aarch64-3.9
  creating build/lib.linux-aarch64-3.9/greenlet
  copying src/greenlet/__init__.py -> build/lib.linux-aarch64-3.9/greenlet
  creating build/lib.linux-aarch64-3.9/greenlet/platform
  copying src/greenlet/platform/__init__.py -> build/lib.linux-aarch64-3.9/greenlet/platform
  creating build/lib.linux-aarch64-3.9/greenlet/tests
  copying src/greenlet/tests/test_weakref.py -> build/lib.linux-aarch64-3.9/greenlet/tests
  copying src/greenlet/tests/test_contextvars.py -> build/lib.linux-aarch64-3.9/greenlet/tests
  copying src/greenlet/tests/test_cpp.py -> build/lib.linux-aarch64-3.9/greenlet/tests
  copying src/greenlet/tests/leakcheck.py -> build/lib.linux-aarch64-3.9/greenlet/tests
  copying src/greenlet/tests/test_version.py -> build/lib.linux-aarch64-3.9/greenlet/tests
  copying src/greenlet/tests/test_greenlet.py -> build/lib.linux-aarch64-3.9/greenlet/tests
  copying src/greenlet/tests/test_generator.py -> build/lib.linux-aarch64-3.9/greenlet/tests
  copying src/greenlet/tests/test_gc.py -> build/lib.linux-aarch64-3.9/greenlet/tests
  copying src/greenlet/tests/test_tracing.py -> build/lib.linux-aarch64-3.9/greenlet/tests
  copying src/greenlet/tests/__init__.py -> build/lib.linux-aarch64-3.9/greenlet/tests
  copying src/greenlet/tests/test_throw.py -> build/lib.linux-aarch64-3.9/greenlet/tests
  copying src/greenlet/tests/test_generator_nested.py -> build/lib.linux-aarch64-3.9/greenlet/tests
  copying src/greenlet/tests/test_leaks.py -> build/lib.linux-aarch64-3.9/greenlet/tests
  copying src/greenlet/tests/test_stack_saved.py -> build/lib.linux-aarch64-3.9/greenlet/tests
  copying src/greenlet/tests/test_greenlet_trash.py -> build/lib.linux-aarch64-3.9/greenlet/tests
  copying src/greenlet/tests/test_extension_interface.py -> build/lib.linux-aarch64-3.9/greenlet/tests
  running egg_info
  writing src/greenlet.egg-info/PKG-INFO
  writing dependency_links to src/greenlet.egg-info/dependency_links.txt
  writing requirements to src/greenlet.egg-info/requires.txt
  writing top-level names to src/greenlet.egg-info/top_level.txt
  reading manifest file 'src/greenlet.egg-info/SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  warning: no previously-included files found matching 'benchmarks/*.json'
  no previously-included directories found matching 'docs/_build'
  warning: no files found matching '*.py' under directory 'appveyor'
  warning: no previously-included files matching '*.pyc' found anywhere in distribution
  warning: no previously-included files matching '*.pyd' found anywhere in distribution
  warning: no previously-included files matching '*.so' found anywhere in distribution
  warning: no previously-included files matching '.coverage' found anywhere in distribution
  writing manifest file 'src/greenlet.egg-info/SOURCES.txt'
  copying src/greenlet/greenlet.cpp -> build/lib.linux-aarch64-3.9/greenlet
  copying src/greenlet/greenlet.h -> build/lib.linux-aarch64-3.9/greenlet
  copying src/greenlet/greenlet_allocator.hpp -> build/lib.linux-aarch64-3.9/greenlet
  copying src/greenlet/greenlet_compiler_compat.hpp -> build/lib.linux-aarch64-3.9/greenlet
  copying src/greenlet/greenlet_cpython_compat.hpp -> build/lib.linux-aarch64-3.9/greenlet
  copying src/greenlet/greenlet_exceptions.hpp -> build/lib.linux-aarch64-3.9/greenlet
  copying src/greenlet/greenlet_greenlet.hpp -> build/lib.linux-aarch64-3.9/greenlet
  copying src/greenlet/greenlet_internal.hpp -> build/lib.linux-aarch64-3.9/greenlet
  copying src/greenlet/greenlet_refs.hpp -> build/lib.linux-aarch64-3.9/greenlet
  copying src/greenlet/greenlet_slp_switch.hpp -> build/lib.linux-aarch64-3.9/greenlet
  copying src/greenlet/greenlet_thread_state.hpp -> build/lib.linux-aarch64-3.9/greenlet
  copying src/greenlet/greenlet_thread_state_dict_cleanup.hpp -> build/lib.linux-aarch64-3.9/greenlet
  copying src/greenlet/greenlet_thread_support.hpp -> build/lib.linux-aarch64-3.9/greenlet
  copying src/greenlet/slp_platformselect.h -> build/lib.linux-aarch64-3.9/greenlet
  copying src/greenlet/platform/setup_switch_x64_masm.cmd -> build/lib.linux-aarch64-3.9/greenlet/platform
  copying src/greenlet/platform/switch_aarch64_gcc.h -> build/lib.linux-aarch64-3.9/greenlet/platform
  copying src/greenlet/platform/switch_alpha_unix.h -> build/lib.linux-aarch64-3.9/greenlet/platform
  copying src/greenlet/platform/switch_amd64_unix.h -> build/lib.linux-aarch64-3.9/greenlet/platform
  copying src/greenlet/platform/switch_arm32_gcc.h -> build/lib.linux-aarch64-3.9/greenlet/platform
  copying src/greenlet/platform/switch_arm32_ios.h -> build/lib.linux-aarch64-3.9/greenlet/platform
  copying src/greenlet/platform/switch_arm64_masm.asm -> build/lib.linux-aarch64-3.9/greenlet/platform
  copying src/greenlet/platform/switch_arm64_masm.obj -> build/lib.linux-aarch64-3.9/greenlet/platform
  copying src/greenlet/platform/switch_arm64_msvc.h -> build/lib.linux-aarch64-3.9/greenlet/platform
  copying src/greenlet/platform/switch_csky_gcc.h -> build/lib.linux-aarch64-3.9/greenlet/platform
  copying src/greenlet/platform/switch_m68k_gcc.h -> build/lib.linux-aarch64-3.9/greenlet/platform
  copying src/greenlet/platform/switch_mips_unix.h -> build/lib.linux-aarch64-3.9/greenlet/platform
  copying src/greenlet/platform/switch_ppc64_aix.h -> build/lib.linux-aarch64-3.9/greenlet/platform
  copying src/greenlet/platform/switch_ppc64_linux.h -> build/lib.linux-aarch64-3.9/greenlet/platform
  copying src/greenlet/platform/switch_ppc_aix.h -> build/lib.linux-aarch64-3.9/greenlet/platform
  copying src/greenlet/platform/switch_ppc_linux.h -> build/lib.linux-aarch64-3.9/greenlet/platform
  copying src/greenlet/platform/switch_ppc_macosx.h -> build/lib.linux-aarch64-3.9/greenlet/platform
  copying src/greenlet/platform/switch_ppc_unix.h -> build/lib.linux-aarch64-3.9/greenlet/platform
  copying src/greenlet/platform/switch_riscv_unix.h -> build/lib.linux-aarch64-3.9/greenlet/platform
  copying src/greenlet/platform/switch_s390_unix.h -> build/lib.linux-aarch64-3.9/greenlet/platform
  copying src/greenlet/platform/switch_sparc_sun_gcc.h -> build/lib.linux-aarch64-3.9/greenlet/platform
  copying src/greenlet/platform/switch_x32_unix.h -> build/lib.linux-aarch64-3.9/greenlet/platform
  copying src/greenlet/platform/switch_x64_masm.asm -> build/lib.linux-aarch64-3.9/greenlet/platform
  copying src/greenlet/platform/switch_x64_masm.obj -> build/lib.linux-aarch64-3.9/greenlet/platform
  copying src/greenlet/platform/switch_x64_msvc.h -> build/lib.linux-aarch64-3.9/greenlet/platform
  copying src/greenlet/platform/switch_x86_msvc.h -> build/lib.linux-aarch64-3.9/greenlet/platform
  copying src/greenlet/platform/switch_x86_unix.h -> build/lib.linux-aarch64-3.9/greenlet/platform
  copying src/greenlet/tests/_test_extension.c -> build/lib.linux-aarch64-3.9/greenlet/tests
  copying src/greenlet/tests/_test_extension_cpp.cpp -> build/lib.linux-aarch64-3.9/greenlet/tests
  running build_ext
  building 'greenlet._greenlet' extension
  creating build/temp.linux-aarch64-3.9
  creating build/temp.linux-aarch64-3.9/src
  creating build/temp.linux-aarch64-3.9/src/greenlet
  arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.9 -c src/greenlet/greenlet.cpp -o build/temp.linux-aarch64-3.9/src/greenlet/greenlet.o
  src/greenlet/greenlet.cpp:16:10: fatal error: Python.h: No such file or directory
     16 | #include <Python.h>
        |          ^~~~~~~~~~
  compilation terminated.
  error: command '/usr/bin/arm-linux-gnueabihf-gcc' failed with exit code 1
  ----------------------------------------
  ERROR: Failed building wheel for greenlet
  Running setup.py clean for greenlet
  Building wheel for markupsafe (setup.py) ... done
  Created wheel for markupsafe: filename=MarkupSafe-2.1.1-py3-none-any.whl size=9651 sha256=682ace41111369e986083db8d9cb70cb5455be05600b5ea08d338d3609606949
  Stored in directory: /root/.cache/pip/wheels/7b/7d/66/70e1d8455037024582e80888330322b2dc6f629608a0fbea01
  Building wheel for psutil (PEP 517) ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python3 /tmp/tmp1lkt8omb_in_process.py build_wheel /tmp/tmp0dt3cbth
       cwd: /tmp/pip-install-e24ulvce/psutil_2880055ec112454ebf0b4149ea7d8702
  Complete output (45 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-aarch64-cpython-39
  creating build/lib.linux-aarch64-cpython-39/psutil
  copying psutil/_psaix.py -> build/lib.linux-aarch64-cpython-39/psutil
  copying psutil/_psbsd.py -> build/lib.linux-aarch64-cpython-39/psutil
  copying psutil/_psosx.py -> build/lib.linux-aarch64-cpython-39/psutil
  copying psutil/_psposix.py -> build/lib.linux-aarch64-cpython-39/psutil
  copying psutil/_pssunos.py -> build/lib.linux-aarch64-cpython-39/psutil
  copying psutil/_pswindows.py -> build/lib.linux-aarch64-cpython-39/psutil
  copying psutil/__init__.py -> build/lib.linux-aarch64-cpython-39/psutil
  copying psutil/_compat.py -> build/lib.linux-aarch64-cpython-39/psutil
  copying psutil/_common.py -> build/lib.linux-aarch64-cpython-39/psutil
  copying psutil/_pslinux.py -> build/lib.linux-aarch64-cpython-39/psutil
  creating build/lib.linux-aarch64-cpython-39/psutil/tests
  copying psutil/tests/test_windows.py -> build/lib.linux-aarch64-cpython-39/psutil/tests
  copying psutil/tests/runner.py -> build/lib.linux-aarch64-cpython-39/psutil/tests
  copying psutil/tests/test_unicode.py -> build/lib.linux-aarch64-cpython-39/psutil/tests
  copying psutil/tests/test_sunos.py -> build/lib.linux-aarch64-cpython-39/psutil/tests
  copying psutil/tests/test_system.py -> build/lib.linux-aarch64-cpython-39/psutil/tests
  copying psutil/tests/test_posix.py -> build/lib.linux-aarch64-cpython-39/psutil/tests
  copying psutil/tests/test_osx.py -> build/lib.linux-aarch64-cpython-39/psutil/tests
  copying psutil/tests/test_memleaks.py -> build/lib.linux-aarch64-cpython-39/psutil/tests
  copying psutil/tests/test_aix.py -> build/lib.linux-aarch64-cpython-39/psutil/tests
  copying psutil/tests/__main__.py -> build/lib.linux-aarch64-cpython-39/psutil/tests
  copying psutil/tests/test_linux.py -> build/lib.linux-aarch64-cpython-39/psutil/tests
  copying psutil/tests/__init__.py -> build/lib.linux-aarch64-cpython-39/psutil/tests
  copying psutil/tests/test_bsd.py -> build/lib.linux-aarch64-cpython-39/psutil/tests
  copying psutil/tests/test_testutils.py -> build/lib.linux-aarch64-cpython-39/psutil/tests
  copying psutil/tests/test_connections.py -> build/lib.linux-aarch64-cpython-39/psutil/tests
  copying psutil/tests/test_misc.py -> build/lib.linux-aarch64-cpython-39/psutil/tests
  copying psutil/tests/test_process.py -> build/lib.linux-aarch64-cpython-39/psutil/tests
  copying psutil/tests/test_contracts.py -> build/lib.linux-aarch64-cpython-39/psutil/tests
  running build_ext
  building 'psutil._psutil_linux' extension
  creating build/temp.linux-aarch64-cpython-39
  creating build/temp.linux-aarch64-cpython-39/psutil
  arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-jS0VHk/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -DPSUTIL_POSIX=1 -DPSUTIL_SIZEOF_PID_T=4 -DPSUTIL_VERSION=594 -DPy_LIMITED_API=0x03060000 -DPSUTIL_LINUX=1 -I/usr/include/python3.9 -c psutil/_psutil_common.c -o build/temp.linux-aarch64-cpython-39/psutil/_psutil_common.o
  psutil/_psutil_common.c:9:10: fatal error: Python.h: No such file or directory
      9 | #include <Python.h>
        |          ^~~~~~~~~~
  compilation terminated.
  error: command '/usr/bin/arm-linux-gnueabihf-gcc' failed with exit code 1
  ----------------------------------------
  ERROR: Failed building wheel for psutil
  Building wheel for pynzb (setup.py) ... done
  Created wheel for pynzb: filename=pynzb-0.1.0-py3-none-any.whl size=6233 sha256=a1fd7af86284920f2aa6e900b8c63f1f2a8bf975db29e14a6c6811d35ba10198
  Stored in directory: /root/.cache/pip/wheels/5e/dd/55/7748041ca3955eb229d77ba63d37a8938579addb100660777b
  Building wheel for pyrss2gen (setup.py) ... done
  Created wheel for pyrss2gen: filename=PyRSS2Gen-1.1-py3-none-any.whl size=4988 sha256=8d21a2daf40207ff455f1108c38268ee7f5e6d5e38f587acae907fd460329355
  Stored in directory: /root/.cache/pip/wheels/2f/08/17/8ca78226301286df3b479e30e6a9ec89dd2d98c7ff223e09c6
  Building wheel for pyyaml (PEP 517) ... done
  Created wheel for pyyaml: filename=PyYAML-6.0-cp39-cp39-linux_aarch64.whl size=45333 sha256=0e468a77d0d499f55f8f483bf2e9e3572099bf35dbc63120edcd2c375748231a
  Stored in directory: /root/.cache/pip/wheels/b4/0f/9a/d6af48581dda678920fccfb734f5d9f827c6ed5b4074c7eda8
  Building wheel for sgmllib3k (setup.py) ... done
  Created wheel for sgmllib3k: filename=sgmllib3k-1.0.0-py3-none-any.whl size=6064 sha256=8a5f2332cb8c4978604f304e471e91bfb0cd04c2c9d19a7986c8c46ad8aed865
  Stored in directory: /root/.cache/pip/wheels/65/7a/a7/78c287f64e401255dff4c13fdbc672fed5efbfd21c530114e1
  Building wheel for sqlalchemy (setup.py) ... done
  Created wheel for sqlalchemy: filename=SQLAlchemy-1.4.45-cp39-cp39-linux_aarch64.whl size=1559397 sha256=966f931bdbf1e191ade1f943104b0c4037a87a061ef0abb07c871afe441de21e
  Stored in directory: /root/.cache/pip/wheels/74/54/c4/9b20ee9fff59d370a5acdd8665f78e94459f38b1176acf5e1f
  Building wheel for zxcvbn-python (setup.py) ... done
  Created wheel for zxcvbn-python: filename=zxcvbn_python-4.4.24-py3-none-any.whl size=408208 sha256=a69f1d617745625b385b01e50e9be3e983acc24a7d33d00eb646a063a6e0fa39
  Stored in directory: /root/.cache/pip/wheels/f9/4e/fc/dbe3882c463dda0e749f0f16979609f7c1970d560741c7a630
Successfully built markupsafe pynzb pyrss2gen pyyaml sgmllib3k sqlalchemy zxcvbn-python
Failed to build brotli greenlet psutil
ERROR: Could not build wheels for psutil which use PEP 517 and cannot be installed directly

I think you are still missing development headers.

What’s the output of dpkg -l | grep python or find /usr/include | grep Python.h

Thanks Sam. Here is the output of dpkg -l | grep python:

osmc@osmc:~$ dpkg -l | grep python
ii libpython3-stdlib:armhf 3.9.2-3 armhf interactive high-level object-oriented language (default python3 version)
ii libpython3.9:armhf 3.9.2-1 armhf Shared Python runtime library (version 3.9)
ii libpython3.9-minimal:armhf 3.9.2-1 armhf Minimal subset of the Python language (version 3.9)
ii libpython3.9-stdlib:armhf 3.9.2-1 armhf Interactive high-level object-oriented language (standard library, version 3.9)
ii python-apt-common 2.2.1 all Python interface to libapt-pkg (locales)
ii python-is-python3 3.9.2-1 all symlinks /usr/bin/python to python3
ii python-pip-whl 20.3.4-4+deb11u1 all Python package installer (pip wheels)
ii python3 3.9.2-3 armhf interactive high-level object-oriented language (default python3 version)
ii python3-apt 2.2.1 armhf Python 3 interface to libapt-pkg
ii python3-certifi 2020.6.20-1 all root certificates for validating SSL certs and verifying TLS hosts (python3)
ii python3-chardet 4.0.0-1 all universal character encoding detector for Python3
ii python3-dbus 1.2.16-5 armhf simple interprocess messaging system (Python 3 interface)
ii python3-dbussy 1.3-1.1 armhf Python 3 language bindings for libdbus
ii python3-distutils 3.9.2-1 all distutils package for Python 3.x
ii python3-gi 3.38.0-2 armhf Python 3 bindings for gobject-introspection libraries
ii python3-idna 2.10-1 all Python IDNA2008 (RFC 5891) handling (Python 3)
ii python3-ldb 2:2.2.3-2~deb11u2 armhf Python 3 bindings for LDB
ii python3-lib2to3 3.9.2-1 all Interactive high-level object-oriented language (lib2to3)
ii python3-minimal 3.9.2-3 armhf minimal subset of the Python language (default python3 version)
ii python3-pexpect 4.8.0-2 all Python 3 module for automating interactive applications
ii python3-pil:armhf 8.1.2+dfsg-0.3+deb11u1 armhf Python Imaging Library (Python3)
ii python3-pip 20.3.4-4+deb11u1 all Python package installer
ii python3-pkg-resources 52.0.0-4 all Package Discovery and Resource Access using pkg_resources
ii python3-ptyprocess 0.7.0-1 all Run a subprocess in a pseudo terminal from Python 3
ii python3-requests 2.25.1+dfsg-2 all elegant and simple HTTP library for Python3, built for human beings
ii python3-samba 2:4.13.13+dfsg-1~deb11u5 armhf Python 3 bindings for Samba
ii python3-setuptools 52.0.0-4 all Python3 Distutils Enhancements
ii python3-six 1.16.0-2 all Python 2 and 3 compatibility library (Python 3 interface)
ii python3-talloc:armhf 2.3.1-2+b1 armhf hierarchical pool based memory allocator - Python3 bindings
ii python3-tdb 1.4.3-1+b1 armhf Python3 bindings for TDB
ii python3-unidecode 1.2.0-1 all ASCII transliterations of Unicode text (Python 3 module)
ii python3-urllib3 1.26.5-1~exp1 all HTTP library with thread-safe connection pooling for Python3
ii python3-wheel 0.34.2-1 all built-package format for Python
ii python3.9 3.9.2-1 armhf Interactive high-level object-oriented language (version 3.9)
ii python3.9-minimal 3.9.2-1 armhf Minimal subset of the Python language (version 3.9)

I just tried re-installing the Python development package, and I see that there are errors in the output:

osmc@osmc:~$ sudo apt-get install python-dev
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
Note, selecting ‘python-dev-is-python2’ instead of ‘python-dev’
The following packages were automatically installed and are no longer required:
python3-unidecode python3-urllib3 samba-common samba-common-bin samba-libs vero3-libcec-osmc xkb-data
Use ‘sudo apt autoremove’ to remove them.
The following additional packages will be installed:
libexpat1-dev libpython2-dev libpython2-stdlib libpython2.7 libpython2.7-dev libpython2.7-minimal
libpython2.7-stdlib python-is-python2 python2 python2-dev python2-minimal python2.7 python2.7-dev python2.7-minimal
Suggested packages:
python2-doc python-tk python2.7-doc binfmt-support
The following packages will be REMOVED:
python-is-python3 vero3-device-osmc vero3-mediacenter-osmc
The following NEW packages will be installed:
libexpat1-dev libpython2-dev libpython2-stdlib libpython2.7 libpython2.7-dev libpython2.7-minimal
libpython2.7-stdlib python-dev-is-python2 python-is-python2 python2 python2-dev python2-minimal python2.7
python2.7-dev python2.7-minimal
0 upgraded, 15 newly installed, 3 to remove and 0 not upgraded.
Need to get 0 B/7099 kB of archives.
After this operation, 267 MB disk space will be freed.
Do you want to continue? [Y/n] Y
(Reading database … 40850 files and directories currently installed.)
Removing vero3-device-osmc (1.5.2) …
WARNING: You have tried to remove a package that is essential to OSMC’s operation.
To undo these changes, run ‘sudo apt-get -f install’.
dpkg: error processing package vero3-device-osmc (–remove):
installed vero3-device-osmc package pre-removal script subprocess returned error exit status 1
dpkg: too many errors, stopping
Errors were encountered while processing:
vero3-device-osmc
Processing was halted because there were too many errors.
E: Sub-process /usr/bin/dpkg returned an error code (1)

This will bork your installation and require a reinstall.

I think the correct package to install is: python-dev-is-python3

Thank you, Sam - that did the trick! Flexget is now installed again.

Excellent.

A postscript to this thread:

I managed to get flexget reinstalled but when I try to execute it seems to be looking for a more recent version of transmission than the one that comes bundled with OSMC:

osmc@osmc:~$ sudo flexget execute
2023-04-13 22:03:57 VERBOSE manager Creating new database /home/osmc/db-config.sqlite - DO NOT INTERRUPT …
2023-04-13 22:04:03 VERBOSE task_queue There are 1 tasks to execute. Shutdown will commence when they have completed.
2023-04-13 22:04:03 CRITICAL transmission task-a transmission-rpc module version >=4.1.4,<5.0.0 required.
2023-04-13 22:04:03 WARNING task task-a Aborting task (plugin: transmission)

I wonder if there is any way to manually update the bundled version of transmission to 5.0? Any guidance is much appreciated.

It’s something I can look in to – but it’s a bit busy at the moment

Sam