Две типичные проблемы сборки OpenLDAP из исходников

LDAP
По моему опыту две самые трудноразрешимые проблемы при компиляции OpenLDAP — это:
1) Требование установки Mozilla NSS library
2) Критичность наличия в системе самой свежей Berkeley DB

Если вы попытаетесь решить первую проблему «в лоб», скорее всего ничего у вас не получится: хотя вожделенный OpenLDAP'ом nssutil.h есть в каждом дистрибутиве, это на самом деле совсем не тот nssutil. который нужен для сборки. А чтобы достать нужный, придётся перекопать девелоперский сайт Mozilla и скомпилировать NSS+NSPR, полученные из «официальных источников». Если же, как говорил Прутков, «зрить в корень», то NSS сам по себе вовсе и не требуется для компиляции OpenLDAP, это всего лишь один из вариантов реализации TLS/SSL. Соответственно, намного проще использовать для этих нужд старый-добрый пакет OpenSSL, что и достигается элементарно установкой пакета openssl-devel (или аналогичного, содержащего заголовочные файлы для OpenSSL) и (необязательным) указанием опции --with-tls=openssl. Явное указание на реализацию TLS действительно необязательно, потому что значение по умолчанию with-tls=auto, то есть скрипт configure и сам последовательно проверит наличие в системе openssl, gnutls и moznss, остановившись на первой доступной реализации TLS из этого списка.

Со второй проблемой всё гораздо менее тривиально, потому что OL действительно жаждет самых свежих версий BerkeleyDB, которых чаще всего попросту нет ни в самом дистрибутиве, ни в апдейтах (особенно касается CentOS, привычно отстающего от прогресса на год-полтора). Но и в этой ситуации у вас, как водится, есть целых два выхода: либо взять с офсайта производителя, корпорации Oracle, исходники BDB и скомпилировать их (что на самом деле намного проще, чем в случае с Mozilla NSS+NSPR), либо… убедить себя и OpenLDAP в отсутствии насущной потребности компиляции всего, что к BDB имеет отношение. В последнем случае вы, конечно, лишаетесь наиболее популярных и востребованных бэкендов BDB и HDB, но ведь они и нужны далеко не всегда. Итак, если вы можете пережить без вышеозначенных бэкендов — просто укажите опции --enable-bdb=no и --enable-hdb=no.
Счастливого мэйкинстала!

0 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.