Есть такое правило: если хочешь, чтобы твоя софтина под Linux запустилась у как можно бо́льшего количества пользователей - компилируй её не в самой последней системе. Например, если собрать в Ubuntu 16.04, то юзеры 18.04 тоже не будут в обиде, а если наоборот - то в 16.04 хрен запустится (хочет Glibc 2.27 вместо 2.23). Не думаю что софт так сильно замедлится с Glibc 2.23 вместо 2.27.
Я же вообще радикально подошёл к вопросу, и собираю в CentOS 6. Ну а что - GCC 8 в репо есть, а в EPEL доступна хренова туча либ на все случаи жизни. Например самый новый Boost.
Возник вопрос. В CentOS 6.10 - Mesa 11. В 6.0 - 7.7. Но - если скачать с https://khronos.org/ самые свежие header-ы, и положить в /usr/include/GL, то софт начинает видеть OpenGL 4.5, и всё норм. А потом можно запустить например во всё той же Ubuntu с проприетарным драйвером.
Что насчёт Вулкана? Я так понимаю, здесь недостаточно только обновить хедеры - нужны либы. Какие?
Второй вопрос. Часто для сборки требуется свежий cmake. На сайте https://cmake.org/ можно скачать tar.gz и использовать его. 2.8.12.1 собирают в RHEL 5 (или даже в 4), а Cmake 3.x собирают в Debian 6 Squeeze, так что бинарник с сайта просто работает.
А как установить ninja-build и meson? Всё больше проектов переходят на них.