For Ubuntu we have a quite extensive list of prerequisites/packages that we require to be installed but checking for them early in our build system is very... rudimentary. Currently we check for the dev packages of libxt and libtiff.
In contrast, here is our list of prerequisites from the documentation:
- build-essential
- doxygen
- git
- graphviz
- libfreetype6-dev
- libglu1-mesa-dev
- libssl-dev
- libtiff5-dev
- libwrap0-dev
- libxcomposite1
- libxcursor1
- libxdamage-dev
- libxi-dev
- libxkbcommon-x11-0
- libxt-dev
- mesa-common-dev
We should try to check for all of them but keep also in mind that some of them are optional. Instead of immediately stop processing we should check for everything and only then create a summary that is displayed together with an error message.