а вообще, чем всей этой мастурбацией со статической компиляцией всех зависимостей заниматься, проще собрать пакеты для нескольких самых популярных дистров, а пользователи остальных дистров как-нибудь сами осилят запустить, если очень захотят
Статья для новичков или зачем ты это притащил? В плане, это все описано в любом современном «learn C the hard way» или любому мануалу по сборке кросс-компилятора вручную.
Be sure not to copy system libraries (libc, libpthread, libm etc).
И слови GLIBC >= 2.xx required. В общем, есть несколько ньюансов в этом вопросе: основной это поддержка в актуальном виде всех статически слинкованных библиотек. Например, если выложил бинарь слинкованный с дырявым openssl, то будь добр пересобрать со свежим и выложить обновленную версию; даже если в своем коде ничего не менял.
оффтопик, но близко по теме: как-то пилил велосипед который позволяет одной командой собирать программу со всеми либами, делая многократный configure-make-install в приватную папку. Нет ли чего-то готового для этого?
Не совсем. cmake - это система сборки. Мне же надо было собрать уже имеющимися системами сборки приложение и его зависимости с учётом наложения патчей и т.п. Это похоже на функции менеджера пакетов, но только в части сборки без собственно управления пакетами.