我正在尝试在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
答案 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目录。
使用以下命令构建外派人员
./ configure --prefix = / path-to-expat-installation-dir
make
进行安装
从源代码构建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
,然后继续编译。