2

私は罰の無駄遣いです、そしてそれを証明するために、私は自分自身にサーバーを手に入れ、自分でLAMPスタック全体を構築しようとしました。次に、httpdのconfigure / make / install中に、コンパイルされたapr-utilがapr-iconvを正しく取得していないように見えるという問題が発生しました。シーケンスは次のとおりです。

  1. apr-1.4.5を構成/作成/インストールします。
  2. 構成/作成/インストールapr-iconv-1.2.1
  3. 構成/作成/インストールapr-util-1.3.12
  4. 設定/作成/インストールhttpd-2.2.21

すべてのaprは正常に構築されていますが、httpdを「作成」しようとすると、次のメッセージが表示されます。

make[3]: Leaving directory `/root/software/httpd-2.2.21/modules/mappers'
make[2]: Leaving directory `/root/software/httpd-2.2.21/modules/mappers'
make[1]: Leaving directory `/root/software/httpd-2.2.21/modules'
Making all in support
make[1]: Entering directory `/root/software/httpd-2.2.21/support'
make[2]: Entering directory `/root/software/httpd-2.2.21/support'
/usr/local/apr/build-1/libtool --silent --mode=compile gcc -g -O2 -pthread    -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE    -I/root/software/httpd-2.2.21/srclib/pcre -I. -I/root/software/httpd-2.2.21/os/unix -I/root/software/httpd-2.2.21/server/mpm/prefork -I/root/software/httpd-2.2.21/modules/http -I/root/software/httpd-2.2.21/modules/filters -I/root/software/httpd-2.2.21/modules/proxy -I/root/software/httpd-2.2.21/include -I/root/software/httpd-2.2.21/modules/generators -I/root/software/httpd-2.2.21/modules/mappers -I/root/software/httpd-2.2.21/modules/database -I/usr/local/apr/include/apr-1 -I/root/software/apr-util-1.3.12/../apr-iconv-1.2.1/include -I/usr/include -I/root/software/httpd-2.2.21/server -I/root/software/httpd-2.2.21/modules/proxy/../generators -I/usr/local/ssl/include -I/root/software/httpd-2.2.21/modules/ssl -I/root/software/httpd-2.2.21/modules/dav/main  -prefer-non-pic -static -c htpasswd.c && touch htpasswd.lo
/usr/local/apr/build-1/libtool --silent --mode=link gcc -g -O2 -pthread     -L/usr/lib -L/usr/local/ssl/lib   -o htpasswd  htpasswd.lo   -lm /root/software/httpd-2.2.21/srclib/pcre/libpcre.la /usr/local/apr/lib/libaprutil-1.la -lgdbm /root/software/apr-util-1.3.12/../apr-iconv-1.2.1/lib/libapriconv.la -lexpat /usr/local/apr/lib/libapr-1.la -lrt -lcrypt -lpthread -ldl -lcrypt
libtool: link: cannot find the library `/root/software/apr-util-1.3.12/../apr-iconv-1.2.1/lib/libapriconv.la' or unhandled argument `/root/software/apr-util-1.3.12/../apr-iconv-1.2.1/lib/libapriconv.la'
make[2]: *** [htpasswd] Error 1
make[2]: Leaving directory `/root/software/httpd-2.2.21/support'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/software/httpd-2.2.21/support'
make: *** [all-recursive] Error 1

私が本当によくわからない構成の唯一の部分は、apr-utilconfigureスクリプトのwith-apr-iconv設定です。共有ライブラリの代わりに別のソースディレクトリを参照するのは奇妙に思えます。誰かが私が間違っていることを教えてもらえますか?

サーバー情報:

[root@server ~]# cat /etc/*-release
CentOS release 5.7 (Final)
[root@server ~]# uname -m
i686

スクリプトを構成します。

4月-1.4.5

./configure --enable-shared \
            --enable-threads \
            --enable-other-child

apr-iconv-1.2.1

./configure --with-apr=/usr/local/apr

apr-util-1.3.12

./configure --with-apr=/usr/local/apr/bin/apr-1-config \
            --with-apr-iconv=../apr-iconv-1.2.1 \
            --with-mysql=/usr \
            --with-sqlite3=/usr  \
            --with-expat=/usr \
            --with-gdbm=/usr

httpd-2.2.21

./configure --enable-authn-anon \
            --enable-v4-mapped \
            --enable-authz-owner \
            --enable-auth-digest \
            --disable-imagemap \
            --enable-dav \
            --enable-dav-fs \
            --enable-dav-lock \
            --enable-deflate \
            --enable-expires \
            --enable-headers \
            --enable-info \
            --enable-mime-magic \
            --enable-proxy \
            --enable-proxy-ajp \
            --enable-proxy-http \
            --enable-proxy-ftp \
            --enable-proxy-balancer \
            --enable-proxy-connect \
            --enable-suexec \
            --enable-rewrite \
            --enable-so \
            --enable-ssl \
            --with-ssl=/usr/local/ssl \
            --disable-userdir \
            --enable-vhost-alias \
            --with-mpm=prefork \
            --enable-mods-shared=all \
            --with-apr=/usr/local/apr/bin/apr-1-config \
            --with-apr-util=/usr/local/apr/bin/apu-1-config
4

1 に答える 1

4

あなたはほとんどそこにいるようです。

apr-util ソースを新しいディレクトリに抽出します。--with-apr-iconv= を --with-iconv= に置き換えて ./configure を実行し、オプション値を iconv をインストールした場所のプレフィックスに設定します。例 /usr/local

httpd デーモンも再構成してコンパイルする必要があります。ソースをきれいに抽出し、上から ./configure を実行し、通常の make、make install マジックを使用して、最初からやり直すのが最善です。

于 2012-08-01T19:40:51.263 に答える