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 version present on my system is the one I've built. Extracting the object module x86_64cpuid.o from libcrypto.a and issuing a file command on it states it is a ELF 64 BIT relocatable not stripped, but I still have the relocating error while linking (ld) libcrypto on a shared object. Could be due to the fact that x86_64cpuid source is assembler code (I do not understand ASM, but maybe the code could be written in such way it is not relocatable...)?



--
*Gianluca Magalotti* View Gianluca Magalotti's profile on LinkedIn <http://www.linkedin.com/in/gianlucamagalotti>
Ph: +393489326722
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to