J'essaie d'installer PHP 5.3.21 sur un serveur Rackspace Cloud exécutant Ubuntu 12.04, mais je continue à me heurter à des erreurs lors de la configuration. Il continue à me donner l'erreur suivante:
configure: error: Cannot find imap library (libc-client.a). Please check your c-client installation.
Voici mon script de configuration 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
Et voici les paquets que j'ai installés auparavant:
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
J'ai également essayé d'installer le client IMAP C-Client à partir de la source en utilisant les éléments suivants:
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 ..
mais je reçois toujours l'erreur.
J'apprécierais toute aide pour me permettre de résoudre ce problème.
Merci.
Ok, après avoir examiné le fichier de configuration et quelques autres éléments, j'ai compris quel était le problème.
J'avais des problèmes avec IMAP, LDAP et XPM, c'est-à-dire que le script de configuration ne parvenait pas à trouver certains des fichiers nécessaires à la fin du processus. Il semble que certains des fichiers requis se trouvent dans /usr/lib/
et d'autres dans /usr/lib/x86_64-linux-gnu
, la plupart dans l'ancien.
Cependant, vous pouvez définir --with-libdir
dans votre script de configuration pour traiter un problème, et ce paramètre rompt avec autre chose #Bummer. Dans mon cas, je règle par défaut la valeur /usr/lib/x86_64-linux-gnu
, mais il y avait beaucoup de fichiers dans /usr/lib
par exemple. libc-client.a
comme indiqué dans ma question.
J'ai donc décidé de configurer les options de configuration pour /usr/lib
par défaut, puis de créer des liens symboliques pour les fichiers erronés dans x86_64-linux-gnu
.
Donc, en gros, voici ce que j'ai fait:
A. Créer des liens symboliques pour les fichiers errants
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. Modifié certaines des options de configuration spécifiques que j'ai définies précédemment dans la question comme suit (tout ce que j'ai changé est les 3 énumérées ici, les autres options sont restées telles quelles)
--with-libdir=lib --with-xpm-dir=/usr --with-ldap=/usr
Et tout a bien fonctionné après cela.
J'espère que cela vous aidera si vous rencontrez le même problème. À votre santé.