2

I need to install apache 2.4.10 using openssl 1.0.1i. I compiled openssl from source with:

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

and Apache with:

./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)

I'm essentially following the guide here except with newer slightly newer versions. My problem is I get a linker error when I run make for apache:

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'

I tried the answer here, but no luck. I would prefer to just use aptitude, but unfortunately the versions I need aren't available yet. If anyone knows how to fix the linker problem (or what I think is a linker problem), or knows of a better way to tell apache to use a newer openssl, it would be greatly appreciated; I've got apache 1.0.1i working otherwise.

2
  • why dont use sudo apt-get install openssl apache2 to install them?
    – user308564
    Aug 22, 2014 at 13:29
  • "I would prefer to just use aptitude, but unfortunately the versions I need aren't available yet. "
    – AlexMA
    Aug 22, 2014 at 13:30

1 Answer 1

1

Fixed it, though I'm not sure exactly what the problem was. I changed two things:

First, I installed to a lonely directory (--prefix=/opt/httpd/) next to openssl. I don't think this made a difference, but don't have time to confirm that.

Second, I compiled it with apr and apr-util source code (before I was letting it use copies I got from aptitude--the dev versions). I added apr and apr-util source code to the source tree, and used the --with-included-apr option when I ran apache's ./configure.

Steps to add source code to source tree:

$ 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

Command used to configure apache (with other enabled modules omitted for brevity):

$ ./configure \
    --prefix=/opt/httpd \
    --with-included-apr \
    --enable-ssl \
    --with-ssl=/opt/openssl-1.0.1i \
    --enable-ssl-staticlib-deps \
    --enable-mods-static=ssl
1
  • Thanks for following up on this
    – user308332
    Jul 27, 2019 at 21:13

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .