0

Centos 6.2 (64 ビット) で apr-1.4.6 および apr-util-1.5.1 を使用して Apache 2.4.3 をコンパイルしようとしています。

./configure --build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu --target=x86_64-redhat-linux-gnu --program-prefix= --prefix=/usr -- exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr /lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --cache-file= ../config.cache --with-libdir=lib64 --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --disable-debug --with-pic --disable-rpath --without-pear --with-bz2 --with-exec-dir=/usr/bin --with-freetype-dir=/usr -- with-png-dir=/usr --with-xpm-dir=/usr --enable-gd-native-ttf --with-t1lib=/usr --without-gdbm --with-gettext --with-gmp --with-iconv --with-jpeg-dir=/usr --with-openssl --with-zlib --with-layout=GNU --enable-exif --enable-ftp --enable-magic-quotes - -enable-sockets --with-kerberos --enable-ucd-snmp-hack --enable-shmop --enable-calendar --with-libxml-dir=/usr --enable-xml --with-system-tzdata --with-mhash --with-apxs2=/usr/sbin/apxs --libdir=/usr/lib64/php --enable-pdo=shared --with-mysql=shared,/usr --with-mysqli=共有、/usr/lib64/mysql/mysql_config --with-pdo-mysql=共有、/usr/lib64/mysql/mysql_config --without-pdo-sqlite --without-gd --disable-dom --disable-dba --without-unixODBC --disable-xmlreader --disable-xmlwriter --without-sqlite3 --disable-phar --disable-fileinfo --disable-json --without-pspell --disable-wddx --without-curl --disable-posix --disable-sysvmsg --disable-sysvshm --disable-sysvsem ./configure --with-included-apr --with-included-apr-util

そして、私が発行すると、これが起こります:

/root/httpd-2.4.3/srclib/apr/libtool: 5989 行目: cd: yes/lib: そのようなファイルまたはディレクトリはありません libtool: link: yes/lib' make[3]: *** [libaprutil-1.la] Error 1 make[3]: Leaving directory/root/httpd-2.4.3/srclib/の絶対ディレクトリ名を特定できませんapr-util' make[2]: * [all-recursive] エラー 1 make[2]: ディレクトリ/root/httpd-2.4.3/srclib/apr-util' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory/root/httpd-2.4.3/srclib を離れています' make: * [all-recursive] エラー 1

私が逃した何か?

4

2 に答える 2

2

次のようにしてください。

# Build and install apr 1.2
 cd srclib/apr
 ./configure --prefix=/usr/local/apr-httpd/
 make
 make install

 # Build and install apr-util 1.2
 cd ../apr-util
 ./configure --prefix=/usr/local/apr-util-httpd/ --with-apr=/usr/local/apr-httpd/
 make
 make install

 # Configure httpd
 cd ../../
 ./configure --with-apr=/usr/local/apr-httpd/ --with-apr-util=/usr/local/apr-util-httpd/ 
于 2012-12-11T05:02:14.063 に答える
0

以上のことで、apache2.4.3をインストールできるようになりました。私にとって、そしておそらくあなたにとっても残念なことに、apachectl-kstartを実行したときにこれを見ました。

httpd:/home/netman1/sp/usr/local/apache/conf/httpd.confの141行目の構文エラー:modules / mod_dir.soをサーバーにロードできません:home / netman1 / sp / usr / local / apache / modules /mod_dir.so:未定義のシンボル:apr_array_clear

これを行ったところ、古いバージョンのlibapr-1.soを指す古いリンクが見つかりました。

ldd httpd | grep apr libaprutil-1.so.0 => /home/netman1/usr/local/apache/apr/lib/libaprutil-1.so.0(0x00002aba9dccb000)libapr-1.so.0 => / usr / lib64 / libapr-1.so.0(0x00002aba9defd000)

この混乱を修正するために、古いリンクを保存してから、正しいバージョンを指す新しいリンクを作成しました。

fixed: libapr-1.so.0 -> /opt/app/p3smk1c1/usr/local/apache/apr/lib/libapr-1.so.0.4.6
broken: libapr-1.so.0 -> libapr-1.so.0.2.7

これで、apacheを開始できますが、少なくとも「未定義のシンボル:apr_array_clear」については文句を言いません...これがお役に立てば幸いです。

于 2012-12-25T02:15:04.407 に答える