Linux Blender building: Replacement of `install_deps.sh` by `install_linux_packages.py`

A bit of Context.

Historically, the install_deps.sh bash script was for many years the officially supported way to get all dependencies needed to build Blender on a Linux machine.

It has been replaced in that initial goal by the precompiled libraries for quite some time already.

Maintaining and updating this big Bash script was also more and more time consuming, and having two entirely different systems to compile all the required dependencies was hardly justifiable.

This lead to the decision to remove all the compilation part from install_deps.sh, and only keep the tool as a linux distribution package installer.

The New install_linux_packages.py

This change has been implemented for the next Blender 3.6 LTS (currently being developed in the main branch on git).

Given the amount of work it was to remove all compiling aspects out of install_deps.sh, it felt like a good opportunity to move the whole tool to a new, easier to understand and maintain solution, based on Python3. So here comes install_linux_packages.py.

By default, this new tool only installs the basics requirements to be able to build Blender with the precompiled libraries, which is the officially supported way to get a full-featured Blender build on Linux systems.

By using the --all option, the tool will attempt to install all known dependencies from packages. Most distributions however do not have all of them available, at least within required versions range. On somewhat old distributions (which may also includes the ‘stable’ versions of distros like Debian or Suse), it will even not be possible to install all mandatory dependencies, in which case manual work will be needed to get Blender to build this way.

More information can also be found on the official building Blender documentation.

Supported Distributions

As before, currently install_linux_packages.py supports the following main distributions (and their derivative):

  • Debian (and Ubuntu, …).
  • Fedora.
  • openSuse.
  • Arch.

Patches are welcome to add support for more major linux distributions.

6 Likes