2015-12-02 1 views
0

J'ai besoin de compiler pour les modules de mod_cluster en utilisant https 2.4.17 et j'ai un problème pour compiler les modules. Le processus échoue à l'étape make.Compile mod_cluster avec httpd 2.4.17 - pas de règles.mk créé

J'ai réussi à construire httpd 2.4.17 dans et rpm et l'ai installé sans problème.

Je tire les mod_cluster de la source à: https://github.com/modcluster/mod_cluster

Je suis suite à la procédure de construire mod_cluster:

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

vérification pour l'installation d'Apache httpd ... APXS est/usr/bin/apxs apxs_support est vrai utilisation d'une valeur non initialisée dans concaténation ou chaîne/usr/bin/apxs ligne 222. configure (.): création ./config.status config.status: créer Makefile

faire

Makefile: 10: //build/rules.mk: Aucun fichier ou répertoire make: *** Aucune règle pour faire la cible `//build/rules.mk ». Arrêtez.

Je crois au problème avec la directive top_builddir dans le fichier make.

Note: Qu'il n'y a pas /build/rules.mk être écrit/

# 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 [email protected] 

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 

Merci

Répondre

0

maître mod_cluster compile très bien avec httpd 2.4.17. Vous pouvez jeter un oeil à mon Dockerfile qui montre comment cela est fait. Je viens de déclencher une nouvelle version de DockerHub, ce sera finalement available on DockerHub.

Pour être absolument sûr, je répétais le processus sur Fedora22 x86_64 il y a une minute manuellement:

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

Donc, apparemment, le problème réside dans votre construction httpd. Pourrais-tu partager ton rpm src?

+0

Je vais modifier la construction httpd avec votre approche. Je construis actuellement avec rpmbuild basé sur une procédure modifiée basée sur cette page: http://www.erikwebb.net/blog/compile-and-install-apache-24-red-hat-enterprise-linux-rhel-6- ou-centos-6/ –

+0

Pourquoi ne modélisez-vous pas votre emballage après Fedora? [fichier spec_cluster spec] (https://github.com/Karm/mod_cluster-fedora-packages/blob/master/mod_cluster.spec) et [httpd spec fichier] (http://pkgs.fedoraproject.org/cgit/httpd .git/tree/httpd.spec). –

+0

BTW annonce de compilation, maintenant avec CMAKE: http://modcluster.io/examples/#apache-http-server-examples –