Здравствуйте, elgoog, Вы писали:
E>Появилась необходимость быстрого деплоя программы под множество линукс-машин. Раньше не сильно заморачивался этим вопросом т.к. машин было мало и все собиралось ручками из исходников, но теперь нужно ставить в бинарнике. Отсюда вопрос: как собирать этот бинарник, чтобы он гарантированно шел и под Debian 6 и под Debian 7 (а желательно и под более древние)?
E>Когда-то эту программу было лень в очередной раз собирать, перекинул с одной машины на другую, а она нифига не запустилась из-за того, что версия LIBC не та. Может можно как-то принудительно при сборке говорить компилятору под что линковать?
рекомендую освоить процесс создания .deb пакетов для целевого дистра. например с помощью cpack, если твой проект использует cmake. хотя в целом всякие debhelperы освоить тоже довольно просто.
сборку можно делать в chroot окружении соответствующего дистра (легко делается debootstrap'ом). в целом все это легко переносится на билд сервер (teamcity в моем случае), и там же, после сборки, собранные пакеты подписываются (dpkg-sig) и деплоятся в репу (reprepro). собственно клиенты берут твою софтину просто используя apt (с настроенным source на твою репу) сразу же для своего дистра (для которого заранее известно какие версии пакетов имеются, и эти зависимости были прописаны при создании .deb -- поэтому никаких конфликтов и проблем не возникает).
ЗЫ. сам пользую cmake/cpack и свои модули еще более упрощающие задачу создания .debов