Сервер - статьи

       

Устанавливаем библиотеку c-client


Для того, чтобы впоследствии скомпилировать PHP с поддержкой imap, необходимо установить бибилиотеку c-client. Итак, начинается шоу под названием "собираем c-client". Инструкции по сборке я нашел на , поискав по сайту с ключевым словом 'imap'. Скачиваем тарбол, распаковываем его, смотрим внутрь - а там нас поджидает веселый сюрприз в качестве одного Makefile. Авторы сего пакета, по всей видимости, не подозревают о существовании таких благ цивилизации, как autoconf и иже с ним, поэтому configure скрипта внутри нет, вместо него эксплуатируются мозги администратора. Просматриваем содержимое Makefile, среди комментариев ищем наиболее подходящее вашей системе описание, например, это 'slx' ("Linux using -lcrypt to get the crypt() function"). Затем пробуем скомпилировать c-client с выбранной опцией: % make slx

Как показывает практика, обычно с разбега сборка не удастся из-за различий в расположении файлов - прийдется немного поработать вместо configure, подбирая эти опции вручную. Можно либо править Makefile, либо указывать опции при запуске make. Для моей системы команда сборки выглядела следующим образом: % make slx EXTRASPECIALS="SSLINCLUDE=/usr/include/openssl SSLLIB=/usr/lib"

При возникновении проблем помогает вдумчивое прочтение Makefile.

Итак, компиляция успешно завершена, теперь следующий этап - инсталляция скомпилированного (да, не удивляйтесь, make install не сработает - авторы решили выдержать все в одном стиле и не написали такой цели в Makefile, так что опять будем делать все вручную). Создаем каталог /usr/local/imap-2002d и подкаталоги /usr/local/imap-2002d/include и /usr/local/imap-2002d/lib. Из подкаталога c-client копируем все *.h файлы в include, все *.c в lib. В том же каталоге находим файлик c-client.a и копируем его в lib, переименовывая в libc-client.a.

На этом с установкой c-client покончено, лично я в процессе инсталляции не раз помянул недобрым словом разработчиков за такое жестокое отношение к пользователям.

Содержание раздела