Более новый GLIBC для RHEL/CentOS 5.x
У меня есть ситуация, когда группа разработчиков пытается развернуть бинарное приложение на серии серверов RHEL 5.5 и CentOS 5.5. К сожалению, приложение было разработано на другой платформе (Gentoo), и его выполнение приводит к ошибке зависимости GLIBC:
libc.so.6: version `GLIBC_2.7' not found (required by
/path/to/application/bin/program.app)
RHEL / CentOS 5.x стандартизирован на GLIBC 2.5 (с патчами и бэкпортами, но все еще застрял на 2.5)
Я был в состоянии обойти другие требования библиотеки, копируя отдельные библиотеки и используя LD_PRELOAD
в скриптах-обёртках. Моя позиция заключается в том, что RHEL предназначен для поддержки бинарной совместимости в течение всего срока службы поддержки, и что у меня нет хороших вариантов для обновления такой важной библиотеки в системах. Среда раньше была в основном Gentoo, поэтому разработчики привыкли обновлять пакеты по частям без каких-либо проблем с зависимостями.
Я думаю, что правильное решение - перекомпилировать для целевых систем. Из-за метода распространения приложения, это может быть не вариант. Есть ли другие решения или предложения?
1 ответ
- ссылка статически (-статическая)
- используйте rpath. rpath перезаписывает путь поиска по умолчанию (-rpath,/srv/myapp/lib)