我正在尝试在运行 Ubuntu 12.04 的 Rackspace 云服务器上安装 PHP 5.3.21,但在配置过程中不断遇到错误。它一直给我以下错误:
configure: error: Cannot find imap library (libc-client.a). Please check your c-client installation.
这是我的 PHP 配置脚本:
./configure --enable-fpm --enable-cli --with-fpm-user=phpfpm --with-fpm-group=phpfpm --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/conf.d --with-libdir=/lib/x86_64-linux-gnu --enable-bcmath --enable-ctype --with-curl --with-curlwrappers --with-pear --enable-dba --with-cdb --enable-exif --enable-ftp --disable-fileinfo --with-gd --with-jpeg-dir --with-png-dir --with-zlib-dir --with-xpm-dir --with-freetype-dir --with-t1lib --enable-gd-native-ttf --with-gettext --with-gmp --with-imap=/usr/local/c-client-2007f --with-imap-ssl --with-ldap --with-ldap-sasl --enable-mbstring=all --with-mcrypt --with-mhash --with-mysql --with-mysqli --with-pdo-mysql --enable-sqlite-utf8 --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 --enable-zip --with-zlib --enable-sysvsem --enable-sysvshm
以下是我之前安装的软件包:
apt-get -y install php5-dev php-pear php5-imap
apt-get -y install libxml2-dev libevent-dev zlib1g-dev libbz2-dev libgmp3-dev libssl-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libxpm-dev libgd2-xpm-dev libmcrypt-dev memcached libmemcached-dev libpcre3-dev libc-client-dev libkrb5-dev libsasl2-dev libmysqlclient-dev libpspell-dev libsnmp-dev libtidy-dev libxslt-dev libtool libc-client2007e libc-client2007e-dev
apt-get -y build-dep t1lib
printf "\n" | apt-get -y install t1lib-bin libt1-dev
我还尝试使用以下命令从源代码安装 C-Client IMAP:
wget ftp://ftp.cac.washington.edu/imap/c-client.tar.Z
tar -xvf c-client.tar.Z
cd imap-2007f
make clean
make ldb EXTRAAUTHENTICATORS=gss PASSWDTYPE=gss IP6=4
cp c-client/c-client.a c-client/libc-client.a
mkdir -p /usr/local/c-client-2007f/lib
mkdir -p /usr/local/c-client-2007f/include
cp c-client/*.h /usr/local/c-client-2007f/include
cp c-client/*.a /usr/local/c-client-2007f/lib
cd ..
但我仍然收到错误。
我将非常感激任何能够帮助我解决这一问题的帮助。
谢谢。
答案1
好的,在查看了配置文件和其他一些内容后,我明白了问题所在。
我在使用 IMAP、LDAP 和 XPM 时遇到了问题,即配置脚本找不到完成该过程所需的某些文件。看来一些所需文件在 中/usr/lib/
,一些在 中/usr/lib/x86_64-linux-gnu
,大多数在 中。
但是,您可以--with-libdir
在 configure 脚本中设置以处理一个问题,而该设置会因其他问题而中断 #Bummer。就我而言,我将其设置为默认设置,但例如我的问题中列出的/usr/lib/x86_64-linux-gnu
文件中有很多文件。/usr/lib
libc-client.a
因此我决定将配置选项设置为/usr/lib
默认选项,然后为中的错误文件创建符号链接x86_64-linux-gnu
。
基本上,这就是我所做的:
A. 为错误文件创建符号链接
ln -s /usr/lib/x86_64-linux-gnu/libXpm.a /usr/lib/libXpm.a
ln -s /usr/lib/x86_64-linux-gnu/libXpm.so /usr/lib/libXpm.so
ln -s /usr/lib/x86_64-linux-gnu/liblber.a /usr/lib/liblber.a
ln -s /usr/lib/x86_64-linux-gnu/libldap_r.a /usr/lib/libldap_r.a
B. 将我之前在问题中设置的一些特定配置选项更改为以下内容(我只更改了这里列出的 3 个,其他选项保持原样)
--with-libdir=lib --with-xpm-dir=/usr --with-ldap=/usr
此后,一切都正常了。
如果您遇到同样的问题,我希望它能有所帮助。谢谢。