httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From John Iliffe <john.ili...@iliffe.ca>
Subject Re: [users@httpd] Compilation error in Apache 2.4.3
Date Mon, 17 Dec 2012 01:08:37 GMT
I have finally got back to this (why is building a new server always the 
lowest priority in the place?) and still have been unable to link in 
OpenSSL version 1.0.1c so it works.

I reconfigured and recompiled with --shared then made Apache with --with-ssl 
=/usr/openssl-1.0.1c but when I start Apache there are unresolved entry 
points in the SSL modules.  (SSL_.....  undefined symbol.)

This new server is a bit of a rush to get done before Christmas so I 
followed "Plan B" - there is always a Plan B in this business - and linked 
to the Red Hat distribution OpenSSL which did work (I think).  I will have 
to fix it later if anyone has any ideas due to PCI compliance issues but for 
the moment this allows the project to continue.  

So, any ideas would be appreciated; programming isn't my first skill!

Regards,

John
================================================
On Thursday 13 December 2012 12:35:45 Tom Evans wrote:
> On Mon, Dec 10, 2012 at 1:18 AM, John Iliffe <john.iliffe@iliffe.ca> wrote:
> > I am trying to install Apache 2.4.3 on a new Red Hat Linux 6.3 machine
> > running on X86_64 hardware.
> > 
> > I installed OpenSSL version 1.0.1c and it seemed to install correctly.
> > basically, it was a default install except for the executable location
> > information.
> > 
> > ----------------------------------------------------------------------
> > ------- ./configure --prefix=/usr/openssl-1.0.1c
> > make
> > make install
> > ----------------------------------------------------------------------
> > ------ I ran a few tests from the command line and the results look
> > OK.
> > 
> > When I try to compile Apache using the following configuration, I get
> > a compile error against the OpenSSL libraries:
> > 
> > ----------------------------------------------------------------------
> > -------------------- ./configure --prefix=/usr/apache-2.4.3
> > --with-ssl=/usr/openssl-1.0.1c --with- zlib
> > --with-pcre=/usr/pcre-8.32
> > ----------------------------------------------------------------------
> > --------------------
> > 
> > Note that the path to OpenSSL is required in the --with-ssl parameter
> > because I don't want to link to the included RedHat OpenSSL version
> > due to PCI requirements.  (too old)
> > 
> > This runs for a while and then I get the following fatal error:
> > 
> > ----------------------------------------------------------------------
> > --------------------- /usr/bin/ld:
> > /usr/openssl-1.0.1c/lib/libssl.a(s3_srvr.o): relocation R_X86_64_32
> > against `.rodata' can not be used when making a shared object;
> > recompile with -fPIC
> > /usr/openssl-1.0.1c/lib/libssl.a: could not read symbols: Bad value
> > collect2: ld returned 1 exit status
> 
> The error is that the OpenSSL library you have built has not been
> built with PIC. Rebuild it with PIC so that it can be linked to a
> dynamically loaded module (mod_ssl.so).
> 
> The reason OpenSSL was not built with PIC is that you did not compile
> shared libraries for OpenSSL - you only created static libraries.
> OpenSSL compiles with PIC iff you enable shared libraries.
> 
> So, rebuild OpenSSL, this time passing '--enable-shared' to the
> configure script (or whatever the appropriate flag is).
> 
> Cheers
> 
> Tom
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
> For additional commands, e-mail: users-help@httpd.apache.org

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Mime
View raw message