Trying to compile from source newest apache with newest openssl - undefined reference to symbol 'dlclose@@GLIBC_2.2.5'
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
Related videos on Youtube
AlexMA
Updated on September 18, 2022Comments
-
AlexMA over 1 year
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.
-
Admin over 9 yearswhy dont use
sudo apt-get install openssl apache2
to install them? -
AlexMA over 9 years"I would prefer to just use aptitude, but unfortunately the versions I need aren't available yet. "
-
-
Admin almost 5 yearsThanks for following up on this