0

I need to compile for the modules from mod_cluster using https 2.4.17 and I am having an issue compiling the modules. The process fails at the make step.

I have successfully build httpd 2.4.17 into and rpm and installed it without issue.

I am pulling the mod_cluster from source at: https://github.com/modcluster/mod_cluster

I am following procedure to build mod_cluster:

cd /mod_cluster//native/advertise   # Advertise the first of four modules
./buildconf
./configure --with-apxs=/usr/bin/apxs

checking for Apache httpd installation... APXS is /usr/bin/apxs apxs_support is true Use of uninitialized value in concatenation (.) or string at /usr/bin/apxs line 222. configure: creating ./config.status config.status: creating Makefile

make

Makefile:10: //build/rules.mk: No such file or directory make: *** No rule to make target `//build/rules.mk'. Stop.

I believe the issue with the top_builddir directive in the make file.

Note: That there is not /build/rules.mk being written to /

# 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

Thank you

1 Answers1

0

mod_cluster master compiles just fine with httpd 2.4.17. You might take a look at my Dockerfile that shows how it is done. I've just triggered a new DockerHub build, it will be available on DockerHub eventually.

In order to be absolutely sure, I repeated the process on Fedora22 x86_64 a minute ago manually:

  • 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;

So, apparently, the problem lies with your httpd build. Could you share your src rpm?

  • I will modify the httpd build with your approach. I am currently building with rpmbuild based on a modified procedure based on this page: http://www.erikwebb.net/blog/compile-and-install-apache-24-red-hat-enterprise-linux-rhel-6-or-centos-6/ – Donald Mackert Dec 03 '15 at 20:54
  • Why don't you model your packaging after Fedora? [mod_cluster spec file](https://github.com/Karm/mod_cluster-fedora-packages/blob/master/mod_cluster.spec) and [httpd spec file](http://pkgs.fedoraproject.org/cgit/httpd.git/tree/httpd.spec). – Michal Karm Babacek Dec 04 '15 at 08:28
  • BTW ad compilation, now with CMAKE: http://modcluster.io/examples/#apache-http-server-examples – Michal Karm Babacek May 11 '16 at 15:02