如何构建Apache httpd的2 *及以后的msys2(how to build apache

2019-10-30 05:31发布

在msys2 httpd的构建失败,出现以下错误:

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

在真正的Linux发行版,安装外籍-devel包似乎要解决的问题在这里看到的 ,更确切地说,外籍-devel的是APR-util的先决条件,至少其头部AR失踪msys2。

因此,由于没有外籍-devel包或头可如何建立与MSYS httpd的? 当配置的httpd --with-包括-APR,在哪里APR-utils的寻找外籍人士头部或如何配置?

更精确的变化-APR-UTIL-1.6文档说

与APR-util的1.6.0变更

*)APR-UTIL的外籍依赖不再与APR-util的建造。 首先构建APR-util的前安装外籍人士(包括开发头文件和库)。

应该在哪里外籍头文件和库安装在httpds建立目录树?

Answer 1:

最后我不得不单独建立外籍人士,那么其他错误arised并找到了解决由于这一环节缺失的libtool和该链接,建立外籍人士,而不会产生重新界定出口的有效途径。

让这里找到完整的构建脚本:

pacman -S make gcc libcrypt perl unzip libtool msys/libcrypt-devel

cd OpenSSL_1_1_1-stable
curl http://mirrors.standaloneinstaller.com/apache/httpd/httpd-2.4.38.tar.gz --output httpd-2.4.38.tar.gz
tar xvf  httpd-2.4.38.tar.gz

cd $HOME
git clone --branch OpenSSL_1_1_1-stable https://github.com/openssl/openssl.git
mv openssl  OpenSSL_1_1_1-stable
cd OpenSSL_1_1_1-stable
./configure gcc --prefix=$HOME/openssl
make
make install

cd $HOME
wget https://github.com/libexpat/libexpat/releases/download/R_2_2_6/expat-2.2.6.tar.bz2
tar xjvf expat-2.2.6.tar.bz2
cd $HOME/expat-2.2.6
./configure --prefix=$HOME/httpd --exec-prefix=$HOME/httpd
make
make install

cd $HOME
curl http://mirrors.standaloneinstaller.com/apache//apr/apr-1.6.5.tar.gz --output apr-1.6.5.tar.gz
tar xvf apr-1.6.5.tar.gz
curl http://mirrors.standaloneinstaller.com/apache//apr/apr-util-1.6.1.tar.gz --output apr-util-1.6.1.tar.gz
tar xvf apr-util-1.6.1.tar.gz
cd $HOME/apr-1.6.5
./configure --prefix=$HOME/httpd
 make
 make install
cd $HOME/apr-util-1.6.1
 ./configure --prefix=$HOME/httpd --with-apr=$HOME/httpd --with-expat=$HOME/httpd 
 make
 make install

cd $HOME
wget https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz
tar xvf pcre-8.43.tar.gz
cd pcre-8.43
./configure --prefix=$HOME/pcre
make 
make install

cd $HOME
wget https://github.com/nghttp2/nghttp2/releases/download/v1.37.0/nghttp2-1.37.0.tar.gz
tar xvf nghttp2-1.37.0.tar.gz
cd $HOME/nghttp2-1.37.0
./configure  --exec-prefix=$HOME/httpd --prefix=$HOME/httpd
make 
make install

cd $HOME/httpd-2.4.38
 ./configure --prefix=$HOME/httpd --with-expat==$HOME/httpd --with-apr-util=$HOME/httpd --with-apr=$HOME/httpd --with-pcre=$HOME/pcre --enable-ssl --enable-ssl-staticlib-deps --with-ssl=$HOME/openssl --enable-proxy --enable-proxy-connect --enable-proxy-http --enable-proxy-balancer --enable-http2 --enable-nghttp2-staticlib-deps --with-nghttp2=$HOME/nghttp2
make
make install

构建过程成功完成,但有用的说,运行时不能使用,因为所描述的httpd无法加载其动态模块这里



文章来源: how to build apache httpd 2.* and beyond on msys2
标签: apache msys2