我正在尝试在Ubuntu 11.04上安装PHP。我正在从源代码编译。
这是我安装依赖项:
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
指定一个目录,该目录究竟是什么?我整天都在这里,似乎无法弄明白。
提前致谢。
编辑:
我能够通过符号链接对此问题进行排序。
以下是运行configure命令之前的操作。
mkdir /usr/kerberos
ln -s /usr/lib/x86_64-linux-gnu /usr/kerberos/lib
干杯。
答案 0 :(得分:3)
我正在处理从Ubuntu 11.04上的源代码安装PHP 5.3.8的这个问题。我正在使用:
./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
这对我有用。希望它可以帮助别人。
答案 1 :(得分:0)
您是否尝试使用Google搜索错误消息? This page 似乎可以解决您的问题。
“我检查了我的系统,发现Kerberos库已安装在/usr/lib64
中。所以我将–with-kerberos=/usr/lib64
传递给configure脚本,但脚本仍报告无法找到Kerberos库。“
“从填充终端的输出页面中,我发现配置脚本将”lib“附加到我提供的–with-kerberos
路径,因此它正在查看不存在的“/ usr / lib64 / lib”目录。但是,我发现我可以通过–with-libdir=lib64
将“lib”更改为“lib64”配置脚本。“
答案 2 :(得分:0)
因为我在10.04时也遇到了这个错误,所以我决定粘贴我的解决方案。也许有一天它可以帮助某人。在lucid上运行编辑我从--with-kerberos
更改为with-kerberos=shared,/usr/lib
。看起来这就是所有的魔力,因为编译器通过lib64错过了那个。