web-dev-qa-db-fra.com

Erreur d'installation de PHP 5.3.21 sur Ubuntu 12.04

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.

3
Chuck Ugwuh

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é.

3
Chuck Ugwuh