libtool: link: `passwd/apr_getpass.lo' is not a valid libtool object
make[3]: *** [libapr-1.la] Error 1
環境:Fedora 8、Apache httpd 2.2.8 源碼編譯。
根因:httpd 源碼包**不再捆綁 apr/apr-util**,需獨立安裝並指定路徑。
wget https://dlcdn.apache.org/apr/apr-1.7.4.tar.gz
tar -zxvf apr-1.7.4.tar.gz
cd apr-1.7.4
./configure --prefix=/usr/local/apr-httpd
make && sudo make install
wget https://dlcdn.apache.org/apr/apr-util-1.6.3.tar.gz
tar -zxvf apr-util-1.6.3.tar.gz
cd apr-util-1.6.3
./configure --prefix=/usr/local/apr-util-httpd --with-apr=/usr/local/apr-httpd
make && sudo make install
cd /path/to/httpd-2.2.8
make clean # 清理上次失敗的構建產物
./configure --prefix=/usr/local/httpd \
--with-apr=/usr/local/apr-httpd \
--with-apr-util=/usr/local/apr-util-httpd
make && sudo make install
--prefix 安裝路徑,而非源碼目錄。apr_getpass.lo) 會導致後續構建持續失敗。dnf install httpd apr-devel apr-util-devel 即可獲得穩定、安全更新的版本,**源碼編譯僅用於特定版本需求/特殊編譯選項/學習目的**。/usr/local/httpd/bin/apachectl -V
# 輸出包含:
# Server version: Apache/2.2.8
# Server built: ...
# Server's Module Magic Number: ...
# Server loaded: APR 1.7.4, APR-Util 1.6.3
# Compiled using: APR 1.7.4, APR-Util 1.6.3
Apache httpd 編譯報錯 not a valid libtool object 90% 因 **apr/apr-util 缺失或路徑錯誤**。獨立安裝並正確指定 --with-apr/--with-apr-util、執行 make clean 重構,即可順利編譯。生產環境請優先使用發布版包管理器。