【问题标题】:Compile mod_cluster with httpd 2.4.17 - no rules.mk created使用 httpd 2.4.17 编译 mod_cluster - 没有创建 rules.mk
【发布时间】:2015-12-02 18:31:07
【问题描述】:

我需要使用 https 2.4.17 编译来自 mod_cluster 的模块,但我在编译模块时遇到问题。该过程在 make 步骤失败。

我已成功将 httpd 2.4.17 构建到 rpm 并安装它没有问题。

我正在从https://github.com/modcluster/mod_cluster 的源中提取 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 行的连接 (.) 或字符串中使用未初始化的值。 配置:创建 ./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

谢谢

【问题讨论】:

    标签: apache compilation mod-cluster


    【解决方案1】:

    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 吗?

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-12
    • 2014-07-23
    • 2015-10-22
    • 1970-01-01
    • 2011-12-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多