Всем привет! Я собираю последние версии программ в билд-ферме на основе CentOS 5, чтобы они просили glibc 2.4. Проблем обычно не возникает, потому что существует Red Hat Toolset с последней версией компилятора. Устанавливаю зависимости - и вперёд. Зависимости потом кладу в архив с программой - за исключением GTK, libpng, libjpeg, freetype и иксовых либ, потому что стандарт LSB гарантирует их наличие в дистрах.
Сейчас я собираю тулкиты и прочие зависимости прикладных программ - навроде Portable Mono. У меня уже есть Portable-версии Qt5 (пример софтины) и Python 2.7, пришла очередь OpenSSL. Не вопрос: беру SRPM-ку от RHEL7 и собираю. При установке -devel
-пакета - куча ругани и отказ установки.
Я вспомнил один случай: в Opensuse 11.4 в репозитории 1.0.0c-17.1, в Updates - 1.0.0c-18.42. Мне понадобилась версия не старее 1.0.0e, и я установил её из этого репозитория (SRPM-ка прилагается). Нужная программа заработала, но после перезагрузки не стартовали иксы. Логи не созранились, но я помню их суть: «скомпилено с OpenSSL такой-то, а в системе такая-то». Пришлось откатить OpenSSL на прежнюю версию. Но! Спустя время прилетел апдейт из Evergreen с той же самой версией OpenSSL, и с ней - работает!
SRPM с проблемой, SRPM-ка без неё.
В чём между ними принципиальная разница? Когда я искал готовые пакеты с OpenSSL 1.0 дл CentOS 5, я находил ссылки, но они были нерабочие. И все писали что было суперклассное репо для разработчиков, но теперь его нет. А может, просто компильнуть его в юзерспейс, как я делал с Python 2.7 и libxml2 для Qt 5?
./configure --prefix=/home/buildfarm/qt5/python2.7