Проблема установки PHP с поддержкой IMAP / Kerberos в Ubuntu 11 - PullRequest
3 голосов
/ 21 сентября 2011

Я пытаюсь установить PHP на Ubuntu 11.04.Я компилирую из источника.

Здесь я устанавливаю зависимости:

apt-get -y install php5-dev php-pear
apt-get -y install libxml2-dev libevent-dev zlib1g-dev libbz2-dev libgmp3-dev libssl-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libgd2-xpm-dev libmcrypt-dev memcached libmemcached-dev libc-client-dev libkrb5-dev

А вот мой скрипт настройки:

./configure --enable-fpm --enable-cli --with-fpm-user=php-fpm --with-fpm-group=php-fpm --prefix=/usr/local/php --exec-prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-config-file-scan-dir=/usr/local/php/etc --enable-bcmath --enable-ctype --with-curl --with-curlwrappers --enable-dba --with-cdb --with-flatfile --with-inifile --enable-exif --enable-ftp --disable-fileinfo --with-gd --with-jpeg-dir --with-png-dir --with-zlib-dir --with-xpm-dir --with-ttf --with-freetype-dir --enable-gd-native-ttf --with-gettext --with-gmp --with-imap --with-imap-ssl --with-ldap --with-ldap-sasl --enable-mbstring=all --with-mcrypt --with-mhash --with-mysql --with-mysqli --with-pdo-mysql --with-openssl --with-kerberos --with-pspell --enable-shmop --enable-simplexml --with-snmp --enable-soap --enable-sockets --with-tidy --enable-wddx --enable-xmlreader --with-xmlrpc --with-xsl --with-zip --with-zlib --enable-sysvsem --enable-sysvshm

Однако я получаю ошибку:

configure: error: Kerberos libraries not found.

  Check the path given to --with-kerberos (if no path is given, searches in /usr/kerberos, /usr/local and /usr )

Я не указал путь, но в моей системе нет каталога, подобного / usr / kerberos.Примерно в пяти строках над ошибкой есть запись в журнале, которая гласит checking for IMAP Kerberos support... yes.

Нужно ли указывать каталог для --with-kerberos и каким будет этот каталог?Я занимался этим весь день, и, похоже, не могу понять это.

Заранее спасибо.

РЕДАКТИРОВАТЬ:

Мне удалось решить эту проблемус символической ссылкой.

Ниже описано, что вы делаете перед запуском команды настройки.

mkdir /usr/kerberos
ln -s /usr/lib/x86_64-linux-gnu /usr/kerberos/lib

Приветствия.

Ответы [ 3 ]

3 голосов
/ 21 октября 2011

Я имел дело с этой проблемой при установке PHP 5.3.8 из исходного кода на Ubuntu 11.04. Я использовал:

./configure '--with-libdir=lib64' '--with-mysql=/usr' '--with-curl' '--with-imap' '--with-imap-ssl' '--with-kerberos' '--with-mhash=shared' '--with-gd' '--with-jpeg-dir' '--with-png-dir' '--with-zlib-dir' '--with-freetype-dir' '--with-mcrypt' '--with-mysqli' '--enable-gd-native-ttf' '--enable-calendar' '--enable-ftp' '--with-openssl' '--enable-pcntl' '--enable-soap' '--enable-sockets' '--enable-spl' '--enable-tokenizer' '--enable-wddx' '--with-apxs2=/usr/local/apache/bin/apxs' '--with-config-file-path=/usr/local/apache/conf'

и получал ту же ошибку:

configure: error: Kerberos libraries not found.

Проверить путь, указанный для --with-kerberos (если путь не указан, поиск выполняется в / usr / kerberos, / usr / local и / usr)

Я понял, что мои установочные файлы kerberos находятся в совершенно другом / usr / lib / x86_64-linux-gnu. Я попробовал предложенный вариант --with-kerberos = / usr / lib / x86_64-linux-gnu, но, как показывает одна из связанных страниц, поиск автоматически добавляет «lib» в конец указанного пути.

Как уже упоминалось, одна из других страниц, на которые ссылаются здесь, обсуждает, что скрипт автоматически добавляет «lib» в пути (поэтому без указания пути он выглядит в / usr / kerberos / lib, / usr / local / lib, и / usr / lib), но я не смог понять, что если вы используете «--with-libdir = lib64», это приводит к тому, что скрипт действительно ищет / usr / kerberos / lib64, / usr / local / lib64, /usr/lib64).

Поняв это, я просто создал следующие символические ссылки и попробовал снова, не указав путь kerberos.

mkdir -p /lib/kerberos
ln -s /usr/lib/x86_64-linux-gnu/ /usr/kerberos/lib
ln -s /usr/lib64/x86_64-linux-gnu/ /usr/kerberos/lib64

Это сработало для меня. Надеюсь, это поможет кому-то еще.

0 голосов
/ 12 марта 2012

Так как у меня была эта ошибка с 10.04, я решил также вставить свое решение.Может быть, это может помочь кому-нибудь когда-нибудь.Запустив компиляцию на lucid, я изменил с --with-kerberos на with-kerberos=shared,/usr/lib.Похоже, это было все волшебство здесь, так как компилятор пробежал через lib64, пропущенную на этом.

0 голосов
/ 21 сентября 2011

Вы пробовали поискать сообщение об ошибке? Эта страница , кажется, имеет жизнеспособное решение вашей проблемы.

"Я проверил свою систему и обнаружил, что библиотеки Kerberos были установлены в /usr/lib64.Я передал –with-kerberos=/usr/lib64 сценарию конфигурации, но сценарий все еще сообщал, что библиотеки Kerberos не могут быть найдены. "

" Со страниц вывода, заполнивших мой терминал, я обнаружил, что сценарий настройки добавлялся «lib» к указанному мною пути –with-kerberos, поэтому он просматривал несуществующий каталог «/ usr / lib64 / lib». Однако я обнаружил, что могу изменить «lib » до « lib64 ″ путем передачи –with-libdir=lib64 в скрипт конфигурации. "

...