Thanks again.




-----Original Message-----
From: Michael S. Zick <open...@morethan.org>
To: openssl-users <openssl-users@openssl.org>
Sent: Tue, Jul 19, 2011 2:03 pm
Subject: Re: Trying to Link Statically to Libcrypto


On Sun July 17 2011, brandon...@aol.com wrote:
 
 Although I've been programming on various platforms for quite awhile, I don't 
now  much about the principles involved here - i.e. Linux or static vs dynamix 
inking.  You are right, it is linking to libldap.
 
When in doubt, ask Google:
ttp://stackoverflow.com/questions/45135/linker-order-gcc
The first of 6 million answers to those questions.
Mike
 What I am trying to do is remove all dependencies on libraries on the diverse 
arget machines, so that it works right out of the box without the necessity of 
he user installing libraries.  On several machines where people have installed 
y program, it complained that it couldn't find libcrypto.so.8.  I fixed that on 
hose occasions by creating a symbolic link to their actual version of 
ibcrypto, but I just want it to stop looking for any library at all on the box 
here I'm putting it, and this  is one step towards that.  I had hoped that by 
orcing it to take libcrypto.a, rather than libcrypto.so, it would stop looking 
or libcrypto.so.8.
 
 
 
 
 
 
 -----Original Message-----
 From: Andreas Mueller <andreas.muel...@othello.ch>
 To: openssl-users <openssl-users@openssl.org>
 Sent: Sun, Jul 17, 2011 2:45 pm
 Subject: Re: Trying to Link Statically to Libcrypto
 
 
 Brandon,
 Am 16.07.2011 um 10:59 schrieb brandon...@aol.com:
  Actually, I believe it said that openldap.so was complaining that they were
 t  would certainly help if you actually knew what it was saying,
 ot just believed it!   And  wasn't  it  rather  libldap.so,  not
 penldap.so.  Of  course,  libldap.so is usually provided by some
 penldap package.
 > I am already linking in -lldap.  Will -lopenldap work better?
 e certainly meant -lldap (the library is called  libldap.so,  so
 he  linker  flag  is  called  -lldap). If your library really is
 alled openldap.so (which I very much doubt), then  you  can  not
 ink  it  with the -l option, you have to add the fully qualified
 ath name of that library to the linker command line.
 > > Any idea what library I can link in to define the above two references?
  Link to OpenSSL first, and then OpenLdap (order matters):
 
  gcc ... -lcrypto -lopenldap
 hat was meant is "-lldap -lcrypto".  Libraries  later  in  later
 lags  have to satisfy references left open by earlier libraries.
 > I am writing some C++ on Linux with g++. When I try to link statically to
  libcrypto, by using the libcrypto.a library, it complains that
 ou are linking statically to a library that some other  library,
 amely  libldap,  want's to link dynamically. How's that supposed
 o work? Static linking means you have a  copy  of  libcrypto  in
 our  binary,  with  the symbols of that library removed, because
 hey have already been resolved. Then libldap  gets  linked,  and
 ants to know about the same symbols once again, so a shared copy
 f the library libcrypto has to be added to  the  address  space.
 hat  a mess. So the real question is: WTH are you trying to link
 tatically!
 Mit herzlichem Gruss
                                         Andreas Müller
 --
 rof. Dr. Andreas Müller, Beratung und Entwicklung
 ubental 53,                   CH - 8852 Altendorf
 mail:                  andreas.muel...@othello.ch
 oice: +41 55 4621483          Fax: +41 55 4621482
 ______________________________________________________________________
 penSSL Project                                 http://www.openssl.org
 ser Support Mailing List                    openssl-users@openssl.org
 utomated List Manager                           majord...@openssl.org
 
 

_____________________________________________________________________
penSSL Project                                 http://www.openssl.org
ser Support Mailing List                    openssl-users@openssl.org
utomated List Manager                           majord...@openssl.org

Reply via email to