If your system cannot provides the base requirements, it is possible to run BuildStream within a container. This gives you an easy way to get started using BuildStream on any Unix-like platform where containers are available, including macOS.
The BuildStream project provides container images on Docker Hub.
Toolbox spawns interactive containers, using podman.
You can create and enter a BuildStream toolbox with the following commands:
toolbox create -i docker.io/buildstream/buildstream:dev toolbox enter buildstream-dev
We recommend using the
bst-here wrapper script
which automates the necessary container setup. You can download it and make
it executable like this:
mkdir -p ~/.local/bin curl --get https://gitlab.com/BuildStream/buildstream/raw/master/contrib/bst-here > ~/.local/bin/bst-here chmod +x ~/.local/bin/bst-here
~/.local/bin appears in your
PATH environment variable -- if it
doesn't, you should edit your
~/.bashrc so that it does:
Once the script is available in your
PATH, you can run
bst-here to open a
shell session inside a new container based off the latest version of the
buildstream/buildstream Docker image. The current working directory will be
mounted inside the container at
You can also run individual BuildStream commands as
bst-here COMMAND. For
bst-here show systems/my-system.bst. Note that BuildStream won't
be able to integrate with Bash tab-completion if you invoke it in this way.
Two Docker volumes are set up by the
buildstream-cache --mounted at
buildstream-config --mounted at
These are necessary so that your BuildStream cache and configuration files
persist between invocations of
By default, the
latest tag of the
buildstream/buildstream image will be
used. This tag tracks the latest stable release of BuildStream. You can choose
to use a different tag using the
-j option. For example, you can run the
nightly build of BuildStream like so:
bst-here -j nightly
More details on image variants can be found here.