Дві типові проблеми складання OpenLDAP з вихідних джерел
На мій досвід дві найважчі проблеми при компіляції OpenLDAP - це: 1) Вимога установки Mozilla NSS library 2) Критичність наявності в системі найсвіжішої Berkeley DB
Якщо ви спробуєте вирішити першу проблему «в лоб», швидше за все нічого у вас не вийде: хоча омріяний OpenLDAP's 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. Щасливого мейкінсталу!
Схожі записи
akkerman 27 травня 2011, 10:45