来自源的Apache Httpd构建:致命错误:expat.h:没有这样的文件或目录

时间:2019-01-29 02:04:42

标签: apache rhel7 expat-parser

我正在尝试在RHEL v7.3上构建Apache Httpd Server v 2.4.38。我正在使用apr v 1.6.5,apr-util v 1.6.1和pcre v 8.42。

我正在运行以下命令

./ configure --with-included-apr --with-pcre = / data / abc / installed / pcre_installed --prefix = / data / abc / installed / httpd_installed

制作

运行“ make”时,我收到错误消息

/ bin / sh /data/abc/installed/httpd-2.4.38/srclib/apr/libtool --silent --mode = compile gcc -g -O2 -pthread -DHAVE_CONFIG_H -DLINUX -D_REENTRANT -D_GNU_SOURCE -I /data/abc/installed/httpd-2.4.38/srclib/apr-util/include -I / data / abc / installed / httpd-2.4.38 / srclib / apr-util / include / private -I / data / abc /installed/httpd-2.4.38/srclib/apr/include -o xml / apr_xml.lo -c xml / apr_xml.c &&触摸xml / apr_xml.lo xml / apr_xml.c:35:19:致命错误:expat.h:没有此类文件或目录  #include

3 个答案:

答案 0 :(得分:2)

https://libexpat.github.io/下载expat-2.2.6.tar.bz2。

使用以下命令提取外籍人士

tar xvjf expat-2.2.6.tar.bz2 -C / path-to-dir

转到提取的expat目录。

使用以下命令构建外派人员

  1. ./ configure --prefix = / path-to-expat-installation-dir

  2. make

  3. 进行安装

从源代码构建Apache Httpd时,请指定--with-expat

./ configure --with-included-apr --prefix = / path-to-apache-installation --with-expat = / path-to-expat-installation-dir

答案 1 :(得分:1)

您是否安装了expat库? (因为这就是expat.h的来源。)

如果您无法将其全局安装到系统中,我确定Apache的./configure脚本也必须具有支持该库的自定义位置的选项。

答案 2 :(得分:0)

对于遇到此问题的其他人:

OP 必须这样做,因为他们没有 sudo 访问权限。如果这样做,通常不需要手动下载 expat 的源代码;通过包管理器安装更容易。除非您正在编译的软件需要比您的 RPM 存储库提供的 expat 更新版本。

因此,对于 RHEL 系列操作系统,您只需执行 sudo <dnf|yum> install expat expat-devel,然后继续编译。