Скомпилируйте mod_cluster с httpd 2.4.17 - rules.mk не создан

Мне нужно скомпилировать модули из mod_cluster, используя https 2.4.17, и у меня возникла проблема с компиляцией модулей. Процесс завершается ошибкой на этапе 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 — true Использование неинициализированного значения в конкатенации (.) или строки в /usr/bin/apxs, строка 222. configure: создание ./config.status config. статус: создание Makefile

делать

Makefile:10: //build/rules.mk: Нет такого файла или каталога make: *** Нет правила для создания `//build/rules.mk'. Останавливаться.

Я считаю, что проблема с директивой top_builddir в файле make.

Примечание: файл /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

Спасибо


person Donald Mackert    schedule 02.12.2015    source источник


Ответы (1)


mod_cluster master отлично компилируется с httpd 2.4.17. Вы можете взглянуть на мой Dockerfile, в котором показано, как это работает. Выполнено. Я только что запустил новую сборку DockerHub, она будет доступна на 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?

person Michal Karm Babacek    schedule 03.12.2015
comment
Я изменю сборку httpd в соответствии с вашим подходом. В настоящее время я строю с помощью rpmbuild на основе модифицированной процедуры, основанной на этой странице: erikwebb.net/blog/ - person Donald Mackert; 03.12.2015
comment
Почему бы вам не смоделировать вашу упаковку по образцу Fedora? файл спецификации mod_cluster и http://pkgs.fedoraproject.org/cgit/httpd.git/tree/httpd.spec. - person Michal Karm Babacek; 04.12.2015
comment
Компиляция рекламы BTW, теперь с CMAKE: http://modcluster.io/examples/#apache-http-server-examples - person Michal Karm Babacek; 11.05.2016