Marek Marcola wrote:
Hello,
I'm trying to build apache 1.3.37 with ssl support on a Ubuntu 6.1
running on a AMD Turion 64.
I've downloaded the following packages:
Apache 1.3.37 sources (apache_1.3.37.tar.gz from httpd.apache.org)
Mod SSL 2.8.28 (mod_ssl-2.8.28-1.3.37.tar.gz from www.modssl.org)
Open SSL 0.9.8e (openssl-0.9.8e.tar.gz from www.openssl.org)
I've built openssl as described into the INSTALL file provided with
mod_ssl distribution, using gcc-4.0:
../config no-idea -fPIC no-threads --prefix=/path/to/local/openssl
make
make test
make install
Then I've patched Apache by using (into the mod_ssl directory):
../Configure --with-apache=/path/to/local/apache
then I've switched to the apache tree and configured it as follows:
MM_BASE=/path/to/mm/ \
SSL_BASE=/path/to/local/openssl \
../configure \
--prefix=/path/to/local/apache \
--enable-module=most \
--enable-shared=max \
--disable-module=auth_dbm \
--disable-module=cern_meta \
--disable-module=log_agent \
--disable-module=log_referer \
--disable-module=usertrack
make
I received the ld error while linking libssl.so saying that libcrypto.a
(module x86_64cpuid.o) cannot be relocated, compile with -fPIC (but is
what I've done).
I've also tried using gcc-3.3 as well as using -fpic instead of -fPIC
while building openssl.
I've tried to use the DSO version of libcrypto/libssl and compilation
coes well but when starting apache it stops due to unresolved symbols
(SSL_xxxx).
I found nothing appropriate on the Internet, because all solutions are
"rebuild openssl with -fPIC (but is what I'm doing).
I suggest to search your system for any copy of libcrypto.a library.
Perhaps you have such system library compiled nonrelocatable.
To check this you may do something like:
$ ll libcrypto.a
-rw-r--r-- 1 root root 2368634 Nov 8 19:24 libcrypto.a
$ ar xv libcrypto.a x86cpuid-elf.o
x - x86cpuid-elf.o
$ file x86cpuid-elf.o
x86cpuid-elf.o: ELF 32-bit LSB relocatable, Intel 80386, version 1
(SYSV), not stripped
Best regards,
The only copy of libcrypto.a is the one I've built.
I've extracted the x86_64cpuid.o object file and tested:
#cd /opt/apache_1.3.37/openssl098e/lib
#ar xv libcrypto.a x86_64cpuid.o
#file x86_64cpuid.o
x86_64cpuid.o: ELF 64-bit LSB relocatable, AMD x86-64, version 1 (SYSV),
not stripped
It seems to be relocatable, but when compiling mod_ssl (or any other
shared object) the result is:
/usr/bin/ld:
/opt/apache_1.3.37/openssl098e/lib/libcrypto.a(x86_64cpuid.o):
relocation R_X86_64_PC32 against `OPENSSL_cpuid_setup' can not be used
when making a shared object; recompile with -fPIC
Now I'm really stuck....
bye
Gianluca
______________________________________________________________________
OpenSSL Project http://www.openssl.org
User Support Mailing List openssl-users@openssl.org
Automated List Manager [EMAIL PROTECTED]