web-dev-qa-db-ja.com

Ubuntu 12.04へのPHP 5.3.21のインストールエラー

Ubuntu 12.04を実行しているRackspace Cloud Serverに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 ..

それでもエラーが発生します。

この問題を解決するための支援をお願いします。

ありがとう。

3
Chuck Ugwuh

わかりました、構成ファイルと他のいくつかのものを調べた後、私は問題が何であるかを理解しました。

IMAP、LDAP、およびXPMで問題が発生していました。つまり、configureスクリプトは、プロセスを完了するために必要なファイルの一部を見つけることができませんでした。必要なファイルの一部は/usr/lib/にあり、一部は/usr/lib/x86_64-linux-gnuにあり、ほとんどは前者にあります。

ただし、configureスクリプトで--with-libdirを設定して1つの問題に対処し、その設定が他の#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

そして、この後はすべてうまくいきました。

同じ問題が発生した場合に役立つことを願っています。乾杯。

3
Chuck Ugwuh