Попытка скомпилировать из источника самого нового апача с новейшим openssl - неопределенная ссылка на символ 'dlclose @@ GLIBC_2.2.5'

Я должен установить апачские 2.4.10 использования openssl 1.0.1i. Я скомпилировал openssl из источника с:

$ ./config \
    --prefix=/opt/openssl-1.0.1i \
    --openssldir=/opt/openssl-1.0.1i
$ make
$ sudo make install

и Apache с:

./configure --prefix=/etc/apache2 \
     --enable-access_compat=shared \
     --enable-actions=shared \
     --enable-alias=shared \
     --enable-allowmethods=shared \
     --enable-auth_basic=shared \
     --enable-authn_core=shared \
     --enable-authn_file=shared \
     --enable-authz_core=shared \
     --enable-authz_groupfile=shared \
     --enable-authz_host=shared \
     --enable-authz_user=shared \
     --enable-autoindex=shared \
     --enable-dir=shared \
     --enable-env=shared \
     --enable-headers=shared \
     --enable-include=shared \
     --enable-log_config=shared \
     --enable-mime=shared \
     --enable-negotiation=shared \
     --enable-proxy=shared \
     --enable-proxy_http=shared \
     --enable-rewrite=shared \
     --enable-setenvif=shared \
     --enable-ssl=shared \
     --enable-unixd=shared \
     --enable-ssl \
     --with-ssl=/opt/openssl-1.0.1i \
     --enable-ssl-staticlib-deps \
     --enable-mods-static=ssl 
make 
(would run sudo make install next but I get an error)

Я по существу следую руководству здесь кроме с более новыми немного более новыми версиями. Моя проблема, я получаю ошибку компоновщика, когда я работаю, делают для апача:

Making all in support
make[1]: Entering directory `/home/developer/downloads/httpd-2.4.10/support'
make[2]: Entering directory `/home/developer/downloads/httpd-2.4.10/support'
/usr/share/apr-1.0/build/libtool --silent --mode=link x86_64-linux-gnu-gcc -std=gnu99  -pthread   -L/opt/openssl-1.0.1i/lib -lssl -lcrypto  \
                 -o ab  ab.lo        /usr/lib/x86_64-linux-gnu/libaprutil-1.la /usr/lib/x86_64-linux-gnu/libapr-1.la -lm
/usr/bin/ld: /opt/openssl-1.0.1i/lib/libcrypto.a(dso_dlfcn.o): undefined reference to symbol 'dlclose@@GLIBC_2.2.5'

Я попробовал ответ здесь, но никакую удачу. Я предпочел бы просто использовать способность, но к сожалению версии, в которых я нуждаюсь, еще не доступны. Если кто-либо знает, как решить проблему компоновщика (или что я думаю, проблема компоновщика), или знает о лучшем способе сказать апачу использовать более новый openssl, это значительно ценилось бы; у меня есть апач 1.0.1i работающий иначе.

3
задан 28 July 2019 в 04:32

1 ответ

Зафиксированный это, хотя я не уверен точно, какова проблема была. Я изменил две вещи:

Первый, я установил на одиноком каталоге (--prefix=/opt/httpd/) рядом с openssl. Я не думаю, что это имело значение, но не имейте времени для подтверждения этого.

117-секундный, я скомпилировал его с исходным кодом в апреле и апреле-util (прежде чем я позволял ему использовать копии, которые я получил от способности - dev версии). Я добавил исходный код в апреле и апреле-util к исходному дереву и использовал --with-included-apr опция, когда я выполнил апача ./configure.

Шаги для добавления исходного кода для определения источника дерева:

$ tar zxvf httpd-2.4.10.tar.gz
$ cd httpd-2.4.10/srclib/
$ tar zxvf ../../apr-1.5.1.tar.gz
$ ln -s apr-1.5.1/ apr
$ tar zxvf ../../apr-util-1.5.3.tar.gz
$ ln -s apr-util-1.5.3/ apr-util

Команда раньше настраивала апача (с другими включенными модулями, опущенными для краткости):

$ ./configure \
    --prefix=/opt/httpd \
    --with-included-apr \
    --enable-ssl \
    --with-ssl=/opt/openssl-1.0.1i \
    --enable-ssl-staticlib-deps \
    --enable-mods-static=ssl
2
ответ дан 1 December 2019 в 17:05

Другие вопросы по тегам:

Похожие вопросы: