Apr及Apr-util与Apache

使用Apache2.4.33版本,./configure没有报错,执行make时报错,如下:

exports.c:2039: 附注:‘ap_hack_apr_uuid_format’的上一个定义在此
exports.c:3228: 错误:‘ap_hack_apr_uuid_parse’重定义
exports.c:2040: 附注:‘ap_hack_apr_uuid_parse’的上一个定义在此
exports.c:3234: 错误:‘ap_hack_apr_version’重定义
exports.c:2046: 附注:‘ap_hack_apr_version’的上一个定义在此
exports.c:3235: 错误:‘ap_hack_apr_version_string’重定义
exports.c:2047: 附注:‘ap_hack_apr_version_string’的上一个定义在此
exports.c:3241: 错误:‘ap_hack_apr_xlate_open’重定义
exports.c:2053: 附注:‘ap_hack_apr_xlate_open’的上一个定义在此
exports.c:3242: 错误:‘ap_hack_apr_xlate_sb_get’重定义
exports.c:2054: 附注:‘ap_hack_apr_xlate_sb_get’的上一个定义在此
exports.c:3243: 错误:‘ap_hack_apr_xlate_conv_buffer’重定义
exports.c:2055: 附注:‘ap_hack_apr_xlate_conv_buffer’的上一个定义在此
exports.c:3247: 错误:‘ap_hack_apr_xlate_conv_byte’重定义
exports.c:2059: 附注:‘ap_hack_apr_xlate_conv_byte’的上一个定义在此
exports.c:3248: 错误:‘ap_hack_apr_xlate_close’重定义
exports.c:2060: 附注:‘ap_hack_apr_xlate_close’的上一个定义在此
exports.c:3253: 错误:‘ap_hack_apr_text_append’重定义
exports.c:2065: 附注:‘ap_hack_apr_text_append’的上一个定义在此
exports.c:3254: 错误:‘ap_hack_apr_xml_parser_create’重定义
exports.c:2066: 附注:‘ap_hack_apr_xml_parser_create’的上一个定义在此
exports.c:3255: 错误:‘ap_hack_apr_xml_parse_file’重定义
exports.c:2067: 附注:‘ap_hack_apr_xml_parse_file’的上一个定义在此
exports.c:3256: 错误:‘ap_hack_apr_xml_parser_feed’重定义
exports.c:2068: 附注:‘ap_hack_apr_xml_parser_feed’的上一个定义在此
exports.c:3257: 错误:‘ap_hack_apr_xml_parser_done’重定义
exports.c:2069: 附注:‘ap_hack_apr_xml_parser_done’的上一个定义在此
exports.c:3258: 错误:‘ap_hack_apr_xml_parser_geterror’重定义
exports.c:2070: 附注:‘ap_hack_apr_xml_parser_geterror’的上一个定义在此
exports.c:3259: 错误:‘ap_hack_apr_xml_to_text’重定义
exports.c:2071: 附注:‘ap_hack_apr_xml_to_text’的上一个定义在此
exports.c:3260: 错误:‘ap_hack_apr_xml_empty_elem’重定义
exports.c:2072: 附注:‘ap_hack_apr_xml_empty_elem’的上一个定义在此
exports.c:3261: 错误:‘ap_hack_apr_xml_quote_string’重定义
exports.c:2073: 附注:‘ap_hack_apr_xml_quote_string’的上一个定义在此
exports.c:3262: 错误:‘ap_hack_apr_xml_quote_elem’重定义
exports.c:2074: 附注:‘ap_hack_apr_xml_quote_elem’的上一个定义在此
exports.c:3263: 错误:‘ap_hack_apr_xml_insert_uri’重定义
exports.c:2075: 附注:‘ap_hack_apr_xml_insert_uri’的上一个定义在此
exports.c:3272: 错误:‘ap_hack_apu_version’重定义
exports.c:2084: 附注:‘ap_hack_apu_version’的上一个定义在此
exports.c:3273: 错误:‘ap_hack_apu_version_string’重定义
exports.c:2085: 附注:‘ap_hack_apu_version_string’的上一个定义在此
make[2]: *** [exports.lo] 错误 1
make[2]: Leaving directory `/root/Packages/httpd-2.4.33/server'
make[1]: *** [all-recursive] 错误 1
make[1]: Leaving directory `/root/Packages/httpd-2.4.33/server'
make: *** [all-recursive] 错误 1

环境说明:

使用apr版本为1.6.3 ,apr-util版本为1.6.1;已经单独编译安装成功;

Apache编译参数为:

./configure --prefix=/usr/local/apache2.4.33 --with-apr=/usr/local/apr/bin/apr-1-config

解决办法:

在configure后加上 “–with-included-apr”。再重新编译, make, make install. 即可。

./configure --prefix=/usr/local/apache2.4.33 --with-apr=/usr/local/apr/bin/apr-1-config --with-included-apr

问题又来了,加上–with-included-apr之后,编译,报错如下:

checking for chosen layout... Apache
checking for working mkdir -p... yes
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
configure: 
configure: Configuring Apache Portable Runtime library...
configure: 
configure: error: Bundled APR requested but not found at ./srclib/. Download and unpack the corresponding apr and apr-util packages to ./srclib/.

错误为:apr,apr-util缺失,需要下载并解压到./srclib/目录下

解决办法:

mv apr-1.6.3  httpd-2.4.33/srclib/apr
mv apr-util-1.6.1 httpd-2.4.33/srclib/apr-util

再次执行./configure就不会报错,make,make install也不会报错;

二〇一八年四月十八日 21:06:38

点赞