Сборка Apache 2.4

Cent OS, Scientific Linux

Модератор: Модераторы разделов

Ответить
alexesuser
Сообщения: 8
ОС: AltLinux Junior, Mandriva

Сборка Apache 2.4

Сообщение alexesuser »

Всем доброго дня. Centos 7.5
Пытаюсь собрать Apache 2.4.34 (текущий актуальный релиз). В соответствии с описанием, беру последние версии apr(1-6-3) и apr-util(1-6-1).
arp и apr-util установил (в /usr/local/apr), а так же скопировал в папку apache/srclib/.

Выполняю конфигурацию Apache:

Код: Выделить всё

./configure --enable-load-all-modules --with-pcre=/usr/local/pcre/bin/pcre2-config --with-apr-util=/usr/local/apr/bin/apu-1-config --with-included-apr-util
--with-included-apr-util - должен подтянуть исходники с папки apache/srclib/
--with-apr-util=/usr/local/apr/bin/apu-1-config - должен взять установленный apr

Конфигурирование проходит успешно, однако при выполнении make происходит ошибка:

Код: Выделить всё

/usr/local/apr/build-1/libtool --silent --mode=link gcc -std=gnu99  -g -O2 -pthread         -o htpasswd  htpasswd.lo passwd_common.lo       /usr/local/apr/lib/libaprutil-1.la /usr/local/apr/lib/libapr-1.la -lrt -lcrypt -lpthread -ldl -lcrypt
/usr/local/apr/lib/libaprutil-1.so: undefined reference to `XML_GetErrorCode'
/usr/local/apr/lib/libaprutil-1.so: undefined reference to `XML_SetEntityDeclHandler'
/usr/local/apr/lib/libaprutil-1.so: undefined reference to `XML_ParserCreate'
/usr/local/apr/lib/libaprutil-1.so: undefined reference to `XML_SetCharacterDataHandler'
/usr/local/apr/lib/libaprutil-1.so: undefined reference to `XML_ParserFree'
/usr/local/apr/lib/libaprutil-1.so: undefined reference to `XML_SetUserData'
/usr/local/apr/lib/libaprutil-1.so: undefined reference to `XML_StopParser'
/usr/local/apr/lib/libaprutil-1.so: undefined reference to `XML_Parse'
/usr/local/apr/lib/libaprutil-1.so: undefined reference to `XML_ErrorString'
/usr/local/apr/lib/libaprutil-1.so: undefined reference to `XML_SetElementHandler'
collect2: error: ld returned 1 exit status
make[2]: *** [htpasswd] Error 1
make[2]: Leaving directory `/root/httpd-2.4.34/support'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/httpd-2.4.34/support'
make: *** [all-recursive] Error 1
Поиск говорит, что эта ошибка связана с неподтягиванием apr. В частности рекомендовано использование ключа --with-included-apr-util (которого, кстати, нет в списке ключей конфигурирования). При этом, как видно в примере, apr пытаюсь взять как установленный, так и из исходников, однако это не помогает.
Спасибо сказали:
Аватара пользователя
Vascom
Сообщения: 1699
ОС: Fedora 32

Re: Сборка Apache 2.4

Сообщение Vascom »

2.4.33 есть врепозитории IUS https://centos.pkgs.org/7/ius-x86_64/ht ... 4.rpm.html
Спасибо сказали:
alexesuser
Сообщения: 8
ОС: AltLinux Junior, Mandriva

Re: Сборка Apache 2.4

Сообщение alexesuser »

Стал собирать из исходников, т.к. в устанавливаемых пакетах нет полного набора модулей, таких как basic-авторизация, ssl и проч.
Спасибо сказали:
Аватара пользователя
Vascom
Сообщения: 1699
ОС: Fedora 32

Re: Сборка Apache 2.4

Сообщение Vascom »

Тогда ты не установил что-то из зависимостей для сборки. Например expat-devel. Или не добавил -lexpat линкеру.
Но вообще собирать из исходников - плохая затея. Лучше бы ты взял готовый srpm и добавил в него нужные тебе модули. В итоге получил бы rpm-пакет, который легко обновить/удалить и т.п., не засорив систему. А так и флаги сборки у тебя не соответствуют системным наверняка.
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Сборка Apache 2.4

Сообщение SLEDopit »

alexesuser писал:
22.08.2018 12:01
Стал собирать из исходников, т.к. в устанавливаемых пакетах нет полного набора модулей, таких как basic-авторизация, ssl и проч.
В центосе в базовом апаче нет ssl и basic-авторизации? Что?
Вот флаги компиляции, которые лежат в центосовском srpm:

Код: Выделить всё

# Build the daemon
%configure \
        --prefix=%{_sysconfdir}/httpd \
        --exec-prefix=%{_prefix} \
        --bindir=%{_bindir} \
        --sbindir=%{_sbindir} \ 
        --mandir=%{_mandir} \
        --libdir=%{_libdir} \
        --sysconfdir=%{_sysconfdir}/httpd/conf \
        --includedir=%{_includedir}/httpd \
        --libexecdir=%{_libdir}/httpd/modules \
        --datadir=%{contentdir} \
        --enable-layout=Fedora \
        --with-installbuilddir=%{_libdir}/httpd/build \
        --enable-mpms-shared=all \
        --with-apr=%{_prefix} --with-apr-util=%{_prefix} \
        --enable-suexec --with-suexec \
        --enable-suexec-capabilities \
        --with-suexec-caller=%{suexec_caller} \ 
        --with-suexec-docroot=%{docroot} \
        --without-suexec-logfile \ 
        --with-suexec-syslog \  
        --with-suexec-bin=%{_sbindir}/suexec \
        --with-suexec-uidmin=500 --with-suexec-gidmin=100 \ 
        --enable-pie \ 
        --with-pcre \ 
        --enable-mods-shared=all \ 
        --enable-ssl --with-ssl --disable-distcache \
        --enable-proxy \ 
        --enable-cache \ 
        --enable-disk-cache \     
        --enable-ldap --enable-authnz-ldap \       
        --enable-cgid --enable-cgi \  
        --enable-authn-anon --enable-authn-alias \ 
        --disable-imagemap  \ 
        $*           
Либо вы не так настраиваете (что вероятно), либо это баг в сборке (что маловероятно).

Покажите конфиг свой, расскажите что хотите сделать и что не получается.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Ответить