The chicken and the OpenSSL

ctodd at chrismiller.com ctodd at chrismiller.com
Tue Apr 15 18:19:42 PDT 2003



On Tue, 15 Apr 2003, West Bend Support wrote:

> From: "Kill the Penguin" <admin at forkthepenguin.com>
> > Okey Dokey then. How come libcrypto.so.3 is included when you install into
> > /usr/local, but not when you overwrite the base install?
> >
> It is installed, it just that -DOPENSSL_OVERWRITE_BASE tells the port to
> install libcrypto as libcrypto.so.2 instead of libcrypto.so.3.

I started to figure this out by looking at the Makefile (see bottom) but a
diff of the two says they are different even though they are both from the
openssl-0.9.7a_2 distribution.

devil# diff /usr/local/lib/libcrypto.so.3 /usr/lib/libcrypto.so.2
Binary files /usr/local/lib/libcrypto.so.3 and /usr/lib/libcrypto.so.2
differ

devil# ls -l /usr/local/lib/libcrypto.so.3 /usr/lib/libcrypto.so.2
-r--r--r--  1 root  wheel  1136871 Apr 15 17:13 /usr/lib/libcrypto.so.2
-r--r--r--  1 root  wheel  1136935 Apr 15 17:31
/usr/local/lib/libcrypto.so.3

OK, so if this is just a naming thing, then why does modssl require the
shared library be version 3? So why does the SHLIBVER become 3 if
installed in /usr/local and remain 2 if overwritebase is defined?

Is there a reason modssl wants it's own distribution of openssl?

Chris

.if defined(NOSHARED)
PLIST_SUB+=     SHARED="@comment "
.else
PLIST_SUB+=     SHARED=""
ALL_TARGET=     freebsd-shared all
.if exists(/usr/lib/libcrypto.so.3)
SHLIBVER=       4
.else
SHLIBVER=       3
.endif
MAKE_ENV+=      SHLIBVER=${SHLIBVER}
PLIST_SUB+=     SHLIBVER=${SHLIBVER}
INSTALLS_SHLIB= yes
.endif

.if defined(OPENSSL_OVERWRITE_BASE)
PKGNAMESUFFIX=  -overwrite-base
PREFIX=         /usr
.if exists(/usr/lib/libcrypto.so.3)
SHLIBVER=       3
.else
SHLIBVER=       2
.endif



More information about the freebsd-ports mailing list