Понадобилось мне как-то пересобрать Squid. Точнее добавить новый хелпер ext_kerberos_ldap_group_acl. Ибо при установке из пакетов он (Squid) собирался без этого хелпера, а он ой как понадобился. Решено было собирать на другой виртуалке и просто перенести скомпилированный файл на продакшн сервер. Всё вроде бы просто, качаем архив, распаковываем в папку, кофигурим со старыми опциями + дописываем “–enable-external-acl-helpers=kerberos_ldap_group” и получаем следующее:
Ошибки с которыми столкнулся
- No C++ compiler
Ну да, правильно. На голой виртуалке нет ещё компилятора. Упущение. Ставлю:
# yum -y install gcc gcc-c++ - configure: error: Package requirements (libecap >= 1.0 libecap < 1.1) were not met:
No package ‘libecap’ found
Чего-то не хватает. Ну да ладно, поставим libecap библиотеки:
# yum -y install libecap-devel - configure: error: library ‘crypto’ is required for OpenSSL
Понимаю, что лёгкой эта установка уже не будет. Морально готовлюсь:
# yum -y install openssl-devel - configure: error: Basic auth helper LDAP … found but cannot be built
Вот тут пришлось погуглить…
# yum -y install openldap-devel - Basic auth helper PAM … found but cannot be built
Серьёзно? Опять чего-то не хватает…
# yum -y install pam-devel - external acl helper time_quota … found but cannot be built
# yum -y install quota-devel libdb-devel
Фуф.. Далее сконфигурилось, скомпилилось и поставилось без проблем вроде. Вообще принцип я уловил такой, если конфигуратор ругается на отсутствие какого-либо компонента или библиотек, нужно выполнить типа:
# yum search компонент
и поискать в выводе что-то типа *-devel, в основном все заголовочные файлы будут в этих пакетах.
Нужный хелпер я скопировал и протестировал – работает нормально! В одной из статей подготовлю инструкцию по работе с ним, очень занятный.