编译安装 遇到2个小问题,走了冤枉路,记录下。
简单说明下测试环境:
操作系统:CentOS5.4 X86_64版
源码分支:apache
./configure --prefix=/usr/local/apache2 --with-mpm=prefork
--enable-ssl \
--disable-charset-lite --disable-include --disable-env
--enable-setenvif \
--disable-status --disable-autoindex --disable-asis --disable-cgi \
--disable-negotiation --disable-imap --disable-actions --disable-userdir \
--disable-alias --disable-so
执行configure程序的时候遇到问题:
configure: error: OpenSSL headers not found . 起初怀疑是openssl没安装好,因为发现openssl同一个package出现了两次,版本也都是一样的。好吧,那就卸载掉再重装,又遇到问题:
error: specifies multiple packages 百度下找到下面的命令:
rpm -e --allmatches openssl
又遇到依赖性问题,很多程序(包)依赖openssl包。加个--nodeps参数。
rpm -e --allmatches --nodeps openssl
卸载成功。再装一遍openssl。
检查rpm包的版本,正常。
再重新执行configure。上面的configure问题重现。
因此不是openssl安装包的问题。 继续百度,结果太杂。换google,找到一些线索。可能是
没有安装openssl-devel包。 这时,脑袋突然想到CentOS光盘下有不同架构版本的安装包:i386和X86_64。前面遇到的同一个rpm出现2次且版本相同应该就是这个原因。
参考:
RedHat下查找rpm包安装信息时注意要显示架构信息, 以免误判
rpm -q --qf "%{n}-%{v}-%{r}.%{arch}\n" openssl 选择X86_64的版本安装。
再再执行configure,执行ok。make。su。 make install。编译安装完毕。
另,使用PGP检测apache源码包的完整性。
参考:http://httpd.apache.org/dev/verification.html
gpg --keyserver pgpkeys.mit.edu --recv-key
KEYS gpg --verify httpd-2.0.64.tar.bz2.asc
#这里
KEYS是个变量,根据下面的信息对KEYS替换成
7F7214A7- httpd-2.3.10-alpha* are signed by Jim Jagielski 791485A8
- httpd-2.2.17.tar.* are signed by William A Rowe Jr B55D9977(7F7214A7)
- httpd-2.0.64.tar.* are signed by William A Rowe Jr B55D9977(7F7214A7)
- apache_1.3.42.tar.* are signed by Colm MacCárthaigh F39B3750
--END--
阅读(1650) | 评论(0) | 转发(0) |