我需要使用https 2.4.17从mod_cluster编译模块,我在编译模块时遇到问题。该过程在make步骤失败。
我已成功将httpd 2.4.17构建到rpm并安装它而没有问题。
我从源代码处提取mod_cluster:https://github.com/modcluster/mod_cluster
我正在按照程序构建mod_cluster:
cd /mod_cluster//native/advertise # Advertise the first of four modules
./buildconf
./configure --with-apxs=/usr/bin/apxs
检查Apache httpd安装... APXS是/ usr / bin / apxs apxs_support是真的 在连接(。)中使用未初始化的值或在/ usr / bin / apxs第222行使用字符串。 configure:创建./config.status config.status:创建Makefile
请
Makefile:10://build/rules.mk:没有这样的文件或目录 make:***没有规则来制作目标`//build/rules.mk'。停止。
我相信make文件中的top_builddir指令存在问题。
注意:没有/build/rules.mk被写入/
# Makefile.in for mod_proxy_cluster
# copy the source in the httpd Apache source tree
APACHE_BASE = /usr
top_builddir = /
# For .deps.
builddir = /srv/apache/mod_cluster-master/native/advertise
# For the apache includes
top_srcdir = /usr
include $(top_builddir)/build/rules.mk
SH_COMPILE = $(LIBTOOL) --mode=compile $(BASE_CC) -I../include -prefer-pic -c $< && touch $@
all: mod_advertise.so
mod_advertise.so: mod_advertise.la
$(top_builddir)/build/instdso.sh SH_LIBTOOL='$(LIBTOOL)' mod_advertise.la `pwd`
mod_advertise.la: mod_advertise.slo
$(SH_LINK) -rpath $(libexecdir) -module -avoid-version mod_advertise.lo
clean:
rm -f *.o *.lo *.slo *.so
rm -rf .libs
谢谢
答案 0 :(得分:0)
mod_cluster master使用httpd 2.4.17编译得很好。您可以查看我的Dockerfile,了解它是如何完成的。我刚刚触发了一个新的DockerHub版本,它最终将是available on DockerHub。
为了绝对确定,我在一分钟前手动重复了Fedora22 x86_64的过程:
wget http://archive.apache.org/dist/httpd/httpd-2.4.17.tar.gz
wget http://archive.apache.org/dist/httpd/httpd-2.4.17-deps.tar.gz
tar xvf
...,cd
... ./configure --prefix=/opt/httpd-2.4.17-build --with-mpm=worker --enable-mods-shared=most --enable-maintainer-mode --with-expat=builtin --enable-ssl --enable-proxy --enable-proxy-http --enable-proxy-ajp --with-threads
git clone https://github.com/modcluster/mod_cluster.git
cd mod_cluster/native
modules="advertise mod_cluster_slotmem mod_manager mod_proxy_cluster";for module in $modules;do cd $module;./buildconf;./configure --with-apxs=/opt/httpd-2.4.17-build/bin/apxs;make clean;make;cd ..;done;
所以,显然,问题在于你的httpd构建。你能分享你的src rpm吗?