On 01-10-2011 04:14, Dave Thompson wrote:
From: owner-openssl-us...@openssl.org On Behalf Of Jakob Bohm
Sent: Friday, 30 September, 2011 13:27
On 9/30/2011 5:04 PM, michael lush wrote:
On Fri, Sep 30, 2011 at 3:07 PM, Jakob
Bohm<jb-open...@wisemo.com>   wrote:
<snip>
Linkable shared libraries "lib/libcrypto.so" and
"lib/libssl.so" (.DLL if
Windows, OS/2 or Symbian).
Linkable static libraries "lib/libcrypto.a" and
"lib/libssl.a" (.LIB if
Windows, OS/2 or Symbian).
For Windows shared=DLL the basename also changes,
for historical compatibility:
libcry(pto) = libeay32.dll and libssl = ssleay32.dll.

I believe on some Unix shared is .sl instead of .so.
And in some Unix packagers shared libs have a version
number added to the name. These shouldn't confuse a
human, but may matter for e.g. a configure script.
Yes.  Generally the scheme is

libfoo.so.1.0.0e : Actual shared library named after exact version

libfoo.so.1.0 or libfoo1.0.so: Symlink to libfoo.so.1.0.0e but named
from API version, this is what linked programs refer to at load time,
allowing different versions to coexist.

libfoo.so: Symlink to the version that matches the headers in
/usr/include/foo, this is what the linker looks for when you
run "cc --dynamic bar.c -lfoo" or similar.

Thanks for this its a real help!  I've had a look at the
installation
and there is "lib/libcrypto.a"
but no "lib/libcrypto.so" I'll have another look at how in
installed it.
Ok, this means you compiled openssl as static libraries to be linked
into you postgres programs.

I believe static/nonshared is always the default for openssl
configure; it definitely is on all platforms I use.
Yes, probably.

To get the .so variant, compile openssl as dynamic libraries (DLLs).

To get both types you typically need to compile openssl twice, because
on Linux, code that goes in DLLs is typically compiled as
"Position Independent Code" which code for a program file is not.  The
.a file is typically compiled for inclusion in a program.

OpenSSL and Unix call it "shared" (as you did above). AFAIK only
Windows calls it "DLL". Although it is basically the same thing.
I have seen *N*X/GNU documentation use the phrase "dynamic link library" about .so files. For instance the gcc option to use them is called "dynamic". The ".DLL"
file name convention is found on multiple PC-related OS-es.

Alternatively, there might be a way to make postgres happy with
static libraries. That would be a question for postgres people.


Unlikely, due to the plugin based nature of this beast.

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to