linux 编译 expat,Linux 编译 apr-util 时报错

前言

Apache 2.4 以后的版本不再自带 APR 库(Apache Portable Runtime,Apache 可移植运行库),所以在安装 Apache 之前需要手动下载安装 APR 库。

完整的 APR 实际上包含了三个依赖包:apr、apr-util 以及pcre。

正文

在官网下载了 apr-util 包,解压后执行make编译时,报错如下:

[root@mingc apr-util-1.6.0]# make

make[1]: Entering directory `/usr/local/src/apr-util-1.6.0'

/bin/sh /usr/local/apr/build-1/libtool --silent --mode=compile gcc -g -O2 -pthread   -DHAVE_CONFIG_H  -DLINUX -D_REENTRANT -D_GNU_SOURCE   -I/usr/local/src/apr-util-1.6.0/include -I/usr/local/src/apr-util-1.6.0/include/private -I/usr/local/apr/include/apr-1 -o xml/apr_xml.lo -c xml/apr_xml.c && touch xml/apr_xml.lo

xml/apr_xml.c:35:19: error: expat.h: No such file or directory

xml/apr_xml.c:66: error: expected specifier-qualifier-list before ‘XML_Parser’

xml/apr_xml.c: In function ‘cleanup_parser’:

xml/apr_xml.c:364: error: ‘apr_xml_parser’ has no member named ‘xp’

xml/apr_xml.c:365: error: ‘apr_xml_parser’ has no member named ‘xp’

xml/apr_xml.c: At top level:

xml/apr_xml.c:384: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token

xml/apr_xml.c: In function ‘apr_xml_parser_create’:

xml/apr_xml.c:401: error: ‘apr_xml_parser’ has no member named ‘xp’

xml/apr_xml.c:402: error: ‘apr_xml_parser’ has no member named ‘xp’

xml/apr_xml.c:410: error: ‘apr_xml_parser’ has no member named ‘xp’

xml/apr_xml.c:411: error: ‘apr_xml_parser’ has no member named ‘xp’

xml/apr_xml.c:412: error: ‘apr_xml_parser’ has no member named ‘xp’

xml/apr_xml.c:424: error: ‘apr_xml_parser’ has no member named ‘xp’

xml/apr_xml.c:424: error: ‘default_handler’ undeclared (first use in this function)

xml/apr_xml.c:424: error: (Each undeclared identifier is reported only once

xml/apr_xml.c:424: error: for each function it appears in.)

xml/apr_xml.c: In function ‘do_parse’:

xml/apr_xml.c:434: error: ‘apr_xml_parser’ has no member named ‘xp’

xml/apr_xml.c:438: error: ‘apr_xml_parser’ has no member named ‘xp’

xml/apr_xml.c:442: error: ‘apr_xml_parser’ has no member named ‘xp_err’

xml/apr_xml.c:442: error: ‘apr_xml_parser’ has no member named ‘xp’

xml/apr_xml.c: In function ‘apr_xml_parser_geterror’:

xml/apr_xml.c:500: error: ‘apr_xml_parser’ has no member named ‘xp_err’

xml/apr_xml.c:500: error: ‘apr_xml_parser’ has no member named ‘xp_err’

make[1]: *** [xml/apr_xml.lo] Error 1

make[1]: Leaving directory `/usr/local/src/apr-util-1.6.0'

make: *** [all-recursive] Error 1

大致是说缺少了 xml 的解析器。查阅网络资料后找到了解决方案,yum 安装一个 expat-devel 包即可:

[root@mingc apr-util-1.6.0]# yum -y install expat-devel

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值