簡體   English   中英

在Centos 6.2(64位)上編譯Apache 2.4.3

[英]Compile Apache 2.4.3 on Centos 6.2 (64bit)

我嘗試在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 = shared,/ usr / lib64 / mysql / mysql_config --with-pdo-mysql = shared,/ 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:line 5989:cd:yes / lib:沒有這樣的文件或目錄libtool:link:無法確定yes/lib' make[3]: *** [libaprutil-1.la] Error 1 make[3]: Leaving directory絕對目錄名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

我錯過了什么?

請執行以下操作:

# 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/ 

以上讓我能夠安裝apache 2.4.3。 不幸的是,對我來說,也許你也是,我在做apachectl -k啟動時看到了這個:

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'...希望這會對你有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM