[Exim] Exim 4.05 & OpenSSL 0.9.6b

Page principale
Supprimer ce message
Répondre à ce message
Auteur: William Craven
Date:  
À: exim-users
Sujet: [Exim] Exim 4.05 & OpenSSL 0.9.6b
Another quandery.....

I am attempting to build Exim 4.05 with shareable OpenSSL libraries and
have run into a few problems with executing Exim.

Previously I have built Exim using the static OpenSSL libraries -
however this time round the shareable libraries are installed for
another application and consequently I have been unable execute Exim.

I am building Exim 4.05 on a Solaris 8 system with gcc 2.95.3.....

Firstly the build went smoothly

.....
awk '{ print ($1+1) }' cnumber.h > cnumber.temp
rm -f cnumber.h; mv cnumber.temp cnumber.h
gcc -c -g -O -DMAILQUO    version.c
rm -f exim
gcc -o exim -Xlinker -B -Xlinker local acl.o child.o daemon.o dbfn.o
debug.o deliver.o  directory.o dns.o drtables.o enq.o exim.o expand.o
filter.o globals.o  header.o host.o ip.o log.o match.o moan.o  os.o
parse.o queue.o  rda.o readconf.o receive.o retry.o rewrite.o  route.o
search.o smtp_in.o smtp_out.o spool_in.o spool_out.o  store.o string.o
tls.o tod.o transport.o tree.o verify.o  local_scan.o  version.o \
  pcre/libpcre.a \
  routers/routers.a transports/transports.a lookups/lookups.a \
  auths/auths.a \
  -lresolv -lsocket -lnsl -lkstat   -lpam -ldl \
   -ldb -lldap  -lssl -lcrypto


>>> exim binary built


However on testing the newly built exim

$ ./exim -bV
ld.so.1: ./exim: fatal: libssl.so.0.9.6: open failed: No such file or
directory
Killed

The ldd command gave

$ ldd exim
        libresolv.so.2 =>        /usr/lib/libresolv.so.2
        libsocket.so.1 =>        /usr/lib/libsocket.so.1
        libnsl.so.1 =>   /usr/lib/libnsl.so.1
        libkstat.so.1 =>         /usr/lib/libkstat.so.1
        libpam.so.1 =>   /usr/lib/libpam.so.1
        libdl.so.1 =>    /usr/lib/libdl.so.1
        libldap.so.4 =>  /usr/lib/libldap.so.4
        libssl.so.0.9.6 =>       (file not found)
        libcrypto.so.0.9.6 =>    (file not found)
        libc.so.1 =>     /usr/lib/libc.so.1
        libmp.so.2 =>    /usr/lib/libmp.so.2
        /usr/platform/SUNW,Ultra-5_10/lib/libc_psr.so.1


So I added /usr/local/lib to the LD_LIBRARY_PATH and the ldd command
gave

$ ldd exim
        libresolv.so.2 =>        /usr/lib/libresolv.so.2
        libsocket.so.1 =>        /usr/lib/libsocket.so.1
        libnsl.so.1 =>   /usr/lib/libnsl.so.1
        libkstat.so.1 =>         /usr/lib/libkstat.so.1
        libpam.so.1 =>   /usr/lib/libpam.so.1
        libdl.so.1 =>    /usr/lib/libdl.so.1
        libldap.so.4 =>  /usr/lib/libldap.so.4
        libssl.so.0.9.6 =>       /usr/local/lib/libssl.so.0.9.6
        libcrypto.so.0.9.6 =>    /usr/local/lib/libcrypto.so.0.9.6
        libc.so.1 =>     /usr/lib/libc.so.1
        libmp.so.2 =>    /usr/lib/libmp.so.2
        /usr/platform/SUNW,Ultra-5_10/lib/libc_psr.so.1


So far so good; (I know the work round this problem is to use the -R
option for the ld command) however when I execute exim again I get the
following error

$ ./exim -bV
ld.so.1: ./exim: fatal: relocation error: file
/usr/local/lib/libssl.so.0.9.6: symbol main: referenced symbol not found
Killed

Any thoughts as to what this means and how I can get round this problem.

Thanks

Wm.
--
William Craven
ITServices                Email:    William.Craven@???
University of British Columbia        Tel:    +1-604-822-8955
Vancouver, BC, Canada V6T 1Z2        Fax:    +1-604-822-5116