<div dir="ltr"><div>Sorry, but you are wrong : using libSSL.a in your libApp.so library does not prevent you from using libSSL.so elsewhere in your program. In such case, your program would still need libSSL.so<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le mer. 6 nov. 2019 à 09:38, Jakob Bohm via openssl-users <<a href="mailto:openssl-users@openssl.org">openssl-users@openssl.org</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Regarding #1: Using libSSL.a instead of libSSL.so should avoid using<br>
libSSL.so by definition.  Otherwise something went seriously wrong<br>
with the linking.  Same for any other library.<br>
<br>
On 05/11/2019 18:22, Aijaz Baig wrote:<br>
> Thank you for the information.<br>
><br>
> I will address your points here:<br>
> 1. I was not aware of the fact that only those symbols that have been <br>
> used get imported when linking a library statically. So that very well <br>
> could be the case. I didn't get what you mentioned about the static <br>
> linking preventing the program from requiring libSSL.so. I mean the <br>
> way I am linking my library should be of no concern to the source code <br>
> right? Or so I think.<br>
><br>
> 2. when I downloaded and compiled the openssl library (from source), I <br>
> followed the INSTALL read me. All it resulted was libssl.a and <br>
> libcrypto.a. I didn't find any file name libSSL.so. So how will this <br>
> static library (archive) have references to libSSL.so on the system?? <br>
> I am kind of confused here now.<br>
><br>
><br>
> On Mon, Nov 4, 2019 at 4:59 PM Brice André <<a href="mailto:brice@famille-andre.be" target="_blank">brice@famille-andre.be</a> <br>
> <mailto:<a href="mailto:brice@famille-andre.be" target="_blank">brice@famille-andre.be</a>>> wrote:<br>
><br>
>     Hello,<br>
><br>
>     It's not an open-ssl issue, but more a compiler specific one.<br>
><br>
>     With info you provided, I cannot tell you what you get as results,<br>
>     but two points that may help:<br>
><br>
>      1. regarding the 87 ssl symbols : when you link with a library,<br>
>         only the useful symbols are imported. So, if the code in you<br>
>         libAPP library only uses some sparse functions of libSSL, it's<br>
>         normal you only have corresponding symbols in your final<br>
>         image. I don't know what you plan to do, but note that<br>
>         statically linking your dll with open-ssl will prevent this<br>
>         dll from needing the openssl dynamic library. But it will not<br>
>         prevent your main program to require the open-ssl library to<br>
>         run properly if some part of it is dynamically linked with<br>
>         open-ssl !<br>
>      2. depending on how you compiled your libssl.a, it can be either<br>
>         a static library containing the full openssl binary code, or a<br>
>         static library that just makes the "link" between you code and<br>
>         the ssl dynamic library. In the second case, even if you<br>
>         properly statically link with this lib, you will still need<br>
>         the dll to execute your program.<br>
><br>
><br>
<br>
Enjoy<br>
<br>
Jakob<br>
-- <br>
Jakob Bohm, CIO, Partner, WiseMo A/S.  <a href="https://www.wisemo.com" rel="noreferrer" target="_blank">https://www.wisemo.com</a><br>
Transformervej 29, 2860 Søborg, Denmark.  Direct +45 31 13 16 10<br>
This public discussion message is non-binding and may contain errors.<br>
WiseMo - Remote Service Management for PCs, Phones and Embedded<br>
<br>
</blockquote></div></div>