Вы можете легко запустить скомпилированное приложение на каждом дистрибутиве с одинаковой архитектурой, если вы скомпилируете его статически.
Если вы скомпилируете его динамически, то столкнетесь с проблемами, подобными той, о которой вы упомянули (отсутствующие библиотеки), или, чаще всего, версии библиотек из других дистрибутивов будут несовместимы.