tiny-pilot/tinypilot

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.

db39 commented

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.

db39 commented

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.