uv run uvicorn app.main:app --host 0.0.0.0 --port 8000
[snip]
src/c/_cffi_backend.c:5307:15: note: ?interned_fields? was declared here
5307 | PyObject *interned_fields;
| ^~~~~~~~~~~~~~~
arm-linux-gnueabihf-gcc: fatal error: cannot execute ?as?: posix_spawnp: No such file or directory
compilation terminated.
error: Command '['arm-linux-gnueabihf-gcc', '-fno-strict-overflow', '-Wsign-compare', '-DNDEBUG', '-g', '-O2', '-Wall', '-fPIC', '-DFFI_BUILDING=1',
'-I/usr/include/ffi', '-I/usr/include/libffi', '-I/home/dietpi/.cache/uv/builds-v0/.tmplVK2LB/include', '-I/usr/include/python3.13', '-c', 'src/c/_cffi_backend.c', '-o',
'build/temp.linux-armv6l-cpython-313/src/c/_cffi_backend.o']' returned non-zero exit status 1.
Additional context
Running Meshcore and its tools on low ressources and "old" (big quotes) hardware is super cool !
## 📝 Problem Description
Compiling and running remoteterm on a raspberry pi 1 is possible but the installation is hacky and not documented.
## 🚦 Current Behavior
After adding some necessary dependencies (needs documentation too), tweaking the packages.json as instructed by https://github.com/jkingsman/Remote-Terminal-for-MeshCore/issues/364, installing via uv fails on the compilation of cffi (see https://github.com/python-cffi/cffi/issues/285 )
## 🎯 Expected Behavior
Instructions in the README should enable one to install on a raspberry pi 1 armv6l like all the other linux on more recent architectures.
## 📋 Steps to Reproduce
1. Install following the instructions https://github.com/jkingsman/Remote-Terminal-for-MeshCore#install-path-1-clone-and-build
2. uv run fails on the compilation as described in the python-cffi issue
## 📡 Radio Node
- **Firmware version:** n/a
- **Hardware / board type:** n/a
-
## 🔌 Connection to the Radio
- **Connected directly to the radio, or through an intermediary?**
Direct
- **Transport:** Serial
## 💻 Environment Information
- **OS:** Raspberry Dietpi Debian Trixie Armv6 https://dietpi.com/downloads/images/DietPi_RPi1-ARMv6-Trixie.img.xz
- **Browser / Version:** n/a
- **RemoteTerm Version:** 3.17.1
## 📸 Screenshots / Debug Logs
```
uv run uvicorn app.main:app --host 0.0.0.0 --port 8000
[snip]
src/c/_cffi_backend.c:5307:15: note: ?interned_fields? was declared here
5307 | PyObject *interned_fields;
| ^~~~~~~~~~~~~~~
arm-linux-gnueabihf-gcc: fatal error: cannot execute ?as?: posix_spawnp: No such file or directory
compilation terminated.
error: Command '['arm-linux-gnueabihf-gcc', '-fno-strict-overflow', '-Wsign-compare', '-DNDEBUG', '-g', '-O2', '-Wall', '-fPIC', '-DFFI_BUILDING=1',
'-I/usr/include/ffi', '-I/usr/include/libffi', '-I/home/dietpi/.cache/uv/builds-v0/.tmplVK2LB/include', '-I/usr/include/python3.13', '-c', 'src/c/_cffi_backend.c', '-o',
'build/temp.linux-armv6l-cpython-313/src/c/_cffi_backend.o']' returned non-zero exit status 1.
```
---
**Additional context**
Running Meshcore and its tools on low ressources and "old" (big quotes) hardware is super cool !
<!-- github-sync-id:5844794757 -->
fail to compile the frontend (I have to reproduce so I can copy the error)
Plan B for the frontend :
Use an existing installation of remotterm, tar cvfz remoteterm-frontend.tgz /home/user/remotterm/frontend/dist , scp the remoteterm-frontend.tgz to the pi, untar it tar xvfz remotterm-frontend.tgz, make sure to copy the files in frontend/dist
Create a python venv which uses the system dependencies (to use the compiled cffi) :
Workarounds used to get it running :
1. Install dependencies :
```
apt install python3 python3-cffi python3-dev python3-nacl python3.13-venv python3-setuptools python3-wheel
```
Install nodejs compiled for armv6 https://unofficial-builds.nodejs.org/
2. fail to compile the frontend (I have to reproduce so I can copy the error)
3. Plan B for the frontend :
Use an existing installation of remotterm, `tar cvfz remoteterm-frontend.tgz /home/user/remotterm/frontend/dist` , scp the remoteterm-frontend.tgz to the pi, untar it `tar xvfz remotterm-frontend.tgz`, make sure to copy the files in `frontend/dist`
4. Create a python venv which uses the system dependencies (to use the compiled cffi) :
```
python3.13 -m venv .venv_integrated --system-site-packages
.venv_integrated/bin/activate
```
5. convert the uv.lock into requirements.txt to use pip install :
```
uv export --format requirements.txt > requirements.txt
```
6. remove fingerprints to simplify (maybe optionnal) :
```
grep '==' requirements.txt > requirements_no_hash.txt
vim requirements_no_hash.txt # remove the \ at the end of each line (should be scriptable)
```
7. extract the top needed dependencies to install them (and not install cffi), this step can be greatly improved :
```
cat requirements_no_hash.txt | grep -E '(aiosqlite|meshcore|pywebpush|uvicorn|httpx|mqtt|websocket|boto) > minimal_requirements.txt
```
8. install extra python dependencies (and mix them with system packages) :
```
pip install -r minimal_requirements.txt
```
9. run 🤞 🎉 :
```
MESHCORE_SERIAL_PORT=/dev/ttyUSB0 uvicorn app.main:app --host 0.0.0.0 --port 8000
```
Way too hackish, but it sort of works...
<!-- github-comment-id:6164846292 -->
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
📝 Problem Description
Compiling and running remoteterm on a raspberry pi 1 is possible but the installation is hacky and not documented.
🚦 Current Behavior
After adding some necessary dependencies (needs documentation too), tweaking the packages.json as instructed by https://github.com/jkingsman/Remote-Terminal-for-MeshCore/issues/364, installing via uv fails on the compilation of cffi (see https://github.com/python-cffi/cffi/issues/285 )
🎯 Expected Behavior
Instructions in the README should enable one to install on a raspberry pi 1 armv6l like all the other linux on more recent architectures.
📋 Steps to Reproduce
📡 Radio Node
🔌 Connection to the Radio
Direct
💻 Environment Information
📸 Screenshots / Debug Logs
Additional context
Running Meshcore and its tools on low ressources and "old" (big quotes) hardware is super cool !
Workarounds used to get it running :
Install nodejs compiled for armv6 https://unofficial-builds.nodejs.org/
Use an existing installation of remotterm,
tar cvfz remoteterm-frontend.tgz /home/user/remotterm/frontend/dist, scp the remoteterm-frontend.tgz to the pi, untar ittar xvfz remotterm-frontend.tgz, make sure to copy the files infrontend/distWay too hackish, but it sort of works...