Skip to content

Web UI Installation Failure on Raspberry Pi 2 (Bullseye): Protobuf version conflict and venv bootstrap issues #1646

Description

@GoodSpeed001

I'm reporting a series of issues encountered while installing the PiSCSI v25.12.01 on a clean v24.04.01 installation, since we dont have a versions of PiSCSI-v25.12.01-armhf-lite.zip, to install. The installation via easyinstall.sh fails due to recent changes in Python package management, missing implicit dependencies, and version mismatches.

Environment:

  • Hardware: Raspberry Pi 2 Model B (ARMv7)
  • PiSCSI Board: 2.4a
  • OS: Raspberry Pi OS Bullseye (Debian 11)
  • PISCSI - v25.12.01
  • Python version: 3.9.2
  • Initial Pip version: 20.x (Updated to 25.3 during troubleshooting)

Identified Issues & Logs:

  1. Protobuf Version Mismatch (Critical) The latest protobuf (6.x) is automatically installed, but it is incompatible with the pre-generated _pb2.py files in the project.
  • Error Log: TypeError: Descriptors cannot be created directly. If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
  • Solution: Force downgrade to protobuf==3.20.3.
  1. Missing Implicit Dependency (six) The python-pam module requires six to function, but it is not explicitly listed in requirements.txt, leading to a crash on startup.
  • Error Log: File "/.../site-packages/pam/__internals.py", line 2, in import six ModuleNotFoundError: No module named 'six'
  • Solution: Explicitly add six to the requirements.
  1. Venv Bootstrap Failure (ensurepip) The standard python3 -m venv venv command failed to bootstrap the environment correctly on this OS/Arch combination.
  • Error Log: The virtual environment was not created successfully because ensurepip is not available.
  • Solution: Created venv using --without-pip and installed pip manually via curl https://bootstrap.pypa.io/get-pip.py | python3.
  1. Pip Indexing Issues Older versions of Pip (standard on Bullseye) failed with IndexError when parsing the current requirements.txt.
  • Solution: Upgraded Pip globally to 25.3 before environment setup.

Suggested Fixes for the Repository:

  • Hard-pin protobuf==3.20.3 in python/web/requirements.txt.
  • Add six and python-pam as explicit dependencies in requirements.txt.
  • Update easyinstall.sh to ensure pip, setuptools, and wheel are upgraded inside the venv before installing other requirements.

Steps to Reproduce:

  • Clean install using 2024-04-30-PiSCSI-v24.04.01-armhf-lite.zip with BalenaEtcher
  • Configure the OLED option
  • Before update version 24.04.01 works like a charm
  • Attempted to install the new versions using the script
cd ~/piscsi
git pull
git checkout v25.12.01
./easyinstall.sh
  • Observed failures during the environment setup and subsequent service crashes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions