Install Build Bot on Raspberry Pi Bullseye

These directions cover installing Build Bot on a Raspberry Pi running Bullseye. All of this will lead up to running Build Bot on a Slurm Cluster.

When attempting to install Build Bot on a Raspberry Pi running Bullseye it fails when trying to install the cryptography python lib.

pip install buildbot
...
Using cached https://www.piwheels.org/simple/pycparser/pycparser-2.21-py2.py3-none-any.whl (119 kB)
Building wheels for collected packages: cryptography
Building wheel for cryptography (pyproject.toml) … error
error: subprocess-exited-with-error

I had to run the following command to install the latest Rust Compiler

sudo curl https://sh.rustup.rs -sSf | sh

Then I was able to install the cryptography lib.

pip install cryptography --no-binary cryptography

It takes a bit for the library to compile…

Then install Build Bot

pip install buildbot buildbot-worker buildbot-www buildbot-waterfall buildbot-console-view buildbot-grid-view
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting buildbot
  Using cached https://www.piwheels.org/simple/buildbot/buildbot-3.7.0-py3-none-any.whl (988 kB)
Collecting Twisted>=18.7.0
  Using cached https://www.piwheels.org/simple/twisted/Twisted-22.10.0-py3-none-any.whl (3.1 MB)
Collecting pyyaml
  Using cached https://www.piwheels.org/simple/pyyaml/PyYAML-6.0-cp37-cp37m-linux_armv7l.whl (45 kB)
Collecting autobahn>=0.16.0
  Using cached https://www.piwheels.org/simple/autobahn/autobahn-23.1.2-cp37-cp37m-linux_armv7l.whl (677 kB)
Collecting txaio>=2.2.2
  Using cached https://www.piwheels.org/simple/txaio/txaio-23.1.1-py2.py3-none-any.whl (30 kB)
Collecting python-dateutil>=1.5
  Using cached https://www.piwheels.org/simple/python-dateutil/python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
Collecting PyJWT
  Using cached https://www.piwheels.org/simple/pyjwt/PyJWT-2.6.0-py3-none-any.whl (20 kB)
Requirement already satisfied: setuptools>=8.0 in /mnt/nfs/python/buildbot/lib/python3.7/site-packages (from buildbot) (67.1.0)
Collecting Jinja2>=2.1
  Using cached https://www.piwheels.org/simple/jinja2/Jinja2-3.1.2-py3-none-any.whl (133 kB)
Collecting alembic>=1.6.0
  Using cached https://www.piwheels.org/simple/alembic/alembic-1.9.4-py3-none-any.whl (210 kB)
Collecting msgpack>=0.6.0
  Using cached https://www.piwheels.org/simple/msgpack/msgpack-1.0.4-cp37-cp37m-linux_armv7l.whl (126 kB)
Collecting sqlalchemy<1.5,>=1.3.0
  Using cached https://www.piwheels.org/simple/sqlalchemy/SQLAlchemy-1.4.46-cp37-cp37m-linux_armv7l.whl (1.6 MB)
Collecting zope.interface>=4.1.1
  Using cached https://www.piwheels.org/simple/zope-interface/zope.interface-5.5.2-cp37-cp37m-linux_armv7l.whl (225 kB)
Collecting importlib-metadata
  Using cached https://www.piwheels.org/simple/importlib-metadata/importlib_metadata-6.0.0-py3-none-any.whl (21 kB)
Collecting importlib-resources
  Using cached https://www.piwheels.org/simple/importlib-resources/importlib_resources-5.12.0-py3-none-any.whl (36 kB)
Collecting Mako
  Using cached https://www.piwheels.org/simple/mako/Mako-1.2.4-py3-none-any.whl (78 kB)
Collecting hyperlink>=21.0.0
  Using cached https://www.piwheels.org/simple/hyperlink/hyperlink-21.0.0-py2.py3-none-any.whl (74 kB)
Requirement already satisfied: cryptography>=3.4.6 in /mnt/nfs/python/buildbot/lib/python3.7/site-packages (from autobahn>=0.16.0->buildbot) (39.0.1)
Collecting MarkupSafe>=2.0
  Using cached https://www.piwheels.org/simple/markupsafe/MarkupSafe-2.1.2-cp37-cp37m-linux_armv7l.whl (26 kB)
Collecting six>=1.5
  Using cached https://www.piwheels.org/simple/six/six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting attrs>=19.2.0
  Using cached https://www.piwheels.org/simple/attrs/attrs-22.2.0-py3-none-any.whl (60 kB)
Collecting incremental>=21.3.0
  Using cached https://www.piwheels.org/simple/incremental/incremental-22.10.0-py2.py3-none-any.whl (16 kB)
Collecting Automat>=0.8.0
  Using cached https://www.piwheels.org/simple/automat/Automat-22.10.0-py2.py3-none-any.whl (26 kB)
Collecting constantly>=15.1
  Using cached https://www.piwheels.org/simple/constantly/constantly-15.1.0-py2.py3-none-any.whl (7.9 kB)
Collecting typing-extensions>=3.6.5
  Using cached https://www.piwheels.org/simple/typing-extensions/typing_extensions-4.5.0-py3-none-any.whl (27 kB)
Requirement already satisfied: cffi>=1.12 in /mnt/nfs/python/buildbot/lib/python3.7/site-packages (from cryptography>=3.4.6->autobahn>=0.16.0->buildbot) (1.15.1)
Collecting idna>=2.5
  Using cached https://www.piwheels.org/simple/idna/idna-3.4-py3-none-any.whl (61 kB)
Collecting zipp>=0.5
  Using cached https://www.piwheels.org/simple/zipp/zipp-3.14.0-py3-none-any.whl (6.7 kB)
Requirement already satisfied: pycparser in /mnt/nfs/python/buildbot/lib/python3.7/site-packages (from cffi>=1.12->cryptography>=3.4.6->autobahn>=0.16.0->buildbot) (2.21)
Installing collected packages: msgpack, incremental, constantly, zope.interface, zipp, typing-extensions, txaio, six, pyyaml, PyJWT, MarkupSafe, idna, attrs, python-dateutil, Jinja2, importlib-resources, importlib-metadata, hyperlink, Automat, Twisted, sqlalchemy, Mako, autobahn, alembic, buildbot