Current installs broken on RPI4 bookworm
Opened this issue · 4 comments
Using the scripts here https://github.com/tiny-pilot/tinypilot?tab=readme-ov-file#simple-installation, install fails with dependency problems under a fresh Rpi4 bookworm install image created with rpi imager.
Tried to do a sudo apt update && sudo apt upgrade to make dependencies appear but sadly they don't.
The following packages have unmet dependencies:
janus:armhf : Depends: libduktape205:armhf (>= 2.0.3) but it is not installable
Depends: libusrsctp1:armhf (>= 0.9.3.0+20190901) but it is not installable
Depends: libwebsockets16:armhf (>= 4.0.19) but it is not installable
Recommends: lua-ansicolors:armhf but it is not installable
Recommends: lua-json:armhf but it is not installable
Recommends: ssl-cert:armhf
tinypilot:armhf : Depends: python3:armhf but it is not going to be installed
Depends: python3-pip:armhf but it is not installable
Depends: python3-venv:armhf but it is not going to be installed
Depends: sudo:armhf
E: Unable to correct problems, you have held broken packages.
Reverted to a fresh bullseye install from rPI, and also blocked by
The following packages have unmet dependencies:
tinypilot:armhf : Depends: python3:armhf but it is not going to be installed
Depends: python3-pip:armhf but it is not installable
Depends: python3-venv:armhf but it is not going to be installed
Could we get a note above the install instructions to highlight
Need Bullseye 32-bit ONLY
Bookworm, 64-bit is all unsupported and won't install.
Hi @gazhay, I'm sorry you ran into this install issue.
As you mentioned, TinyPilot currently only supports Bullseye 32-bit. We're tracking compatibility with Bookworm in this issue.
Our README already mentions Raspberry Pi OS Bullseye (32-bit) as a pre-requisite for installation. Can I ask how we could improve the language surrounding that? For instance, would changing "Pre-requisites" to "Requirements" help?
Either move the pre-requisite section under "simple install" and/or perhaps have a one liner test the arch and codename at install time and spit out a message, rather than attempt to install and fail.
After all, the wording is a bit confusing.
The rpi4 is supported, but the only text is something like "use this simple command to install on any compatible rpi"
When it means, any compatible pi running a supported os.
Thanks, @gazhay!
perhaps have a one liner test the arch and codename at install time and spit out a message, rather than attempt to install and fail.
I was fairly sure that already existed, so I checked and we do have some checks to prevent installation on incompatible systems. However, it looks like those checks didn't cover some systems (64-bit), which explains why we saw this behavior.
I've created a new issue and pushed a fix so that we block installs on 64-bit systems too.
I've also created an issue to update our README to make it more clear what the requirements are for installation. I've changed the "Pre-requisites" section to a "Requirements" section and moved it into the "Simple installation" heading so it's more visible. Additionally, I've updated the requirement to "A Raspberry Pi 4 running Raspberry Pi OS Bullseye (32-bit)".
I hope that covers everything!
Please let me know if you have any questions or feedback.