> From: openssl-users [mailto:openssl-users-boun...@openssl.org] On Behalf Of
> Mark Richter
> Sent: Thursday, July 18, 2019 12:57
>
> Is Linux considered to be the same as (or similar enough to) Unix w.r.t. the
> building instructions?  I'm reading the INSTALL file and it doesn't mention
> Linux (nor are there templates for, etc.).

Yes. Note there are a couple of references to Linux in NOTES.UNIX (and in 
NOTES.PERL). There are Linux-relevant stanzas in config, and so on.

We build on a number of Linux platforms and distributions, including some 
obscure ones, generally without issues.

> Also, once I figure out the build issues, how can I statically link the ssl
> libraries into my app?

You can Configure it for static linkage before building it, but per NOTES.UNIX 
you should get a set of static (archive) libraries as well as the dynamic ones 
even if you don't.

I recommend building OpenSSL as loadable - e.g. as PIC (position-independent 
code) on ELF platforms such as Linux - even if you intend to link it 
statically. Then you have the option of statically linking it into a shared 
object. That's what we do: build OpenSSL as loadable, and link it statically 
into our own wrapper library, which is a shared object (or DLL on Windows).

> Are there any gotchas to
> doing this?  E.g., our app also uses the curl library, which I believe uses
> the default openssl on the host.

As Viktor explained in some recent messages to the list, you may need to build 
OpenSSL with munged symbol names, to ensure each OpenSSL library resolves 
symbols to itself. However, if you're linking it statically that probably won't 
be an issue. Aside from that it shouldn't be a problem, as long as you don't 
try to share OpenSSL objects between the OpenSSL binaries.

--
Michael Wojcik
Distinguished Engineer, Micro Focus



Reply via email to