Define and use a soname -- because we have to care about binary compatibility, we have to increment the soname in order to allow this version to co-exist with another versions and have everything work right. diff -up openssl-0.9.8j/Configure.soversion openssl-0.9.8j/Configure --- openssl-0.9.8j/Configure.soversion 2007-12-03 14:41:19.000000000 +0100 +++ openssl-0.9.8j/Configure 2007-12-03 14:41:19.000000000 +0100 @@ -1371,7 +1371,7 @@ while () elsif ($shared_extension ne "" && $shared_extension =~ /^\.s([ol])\.[^\.]*\.[^\.]*$/) { my $sotmp = $1; - s/^SHARED_LIBS_LINK_EXTS=.*/SHARED_LIBS_LINK_EXTS=.s$sotmp.\$(SHLIB_MAJOR) .s$sotmp/; + s/^SHARED_LIBS_LINK_EXTS=.*/SHARED_LIBS_LINK_EXTS=.s$sotmp.\$(SHLIB_SONAMEVER) .s$sotmp/; } elsif ($shared_extension ne "" && $shared_extension =~ /^\.[^\.]*\.[^\.]*\.dylib$/) { diff -up openssl-0.9.8j/Makefile.org.soversion openssl-0.9.8j/Makefile.org --- openssl-0.9.8j/Makefile.org.soversion 2007-12-03 14:41:19.000000000 +0100 +++ openssl-0.9.8j/Makefile.org 2007-12-03 14:41:19.000000000 +0100 @@ -10,6 +10,7 @@ SHLIB_VERSION_HISTORY= SHLIB_MAJOR= SHLIB_MINOR= SHLIB_EXT= +SHLIB_SONAMEVER=8 PLATFORM=dist OPTIONS= CONFIGURE_ARGS= @@ -277,10 +278,9 @@ clean-shared: link-shared: @ set -e; for i in ${SHLIBDIRS}; do \ $(MAKE) -f $(HERE)/Makefile.shared -e $(BUILDENV) \ - LIBNAME=$$i LIBVERSION=${SHLIB_MAJOR}.${SHLIB_MINOR} \ + LIBNAME=$$i LIBVERSION=${SHLIB_SONAMEVER} \ LIBCOMPATVERSIONS=";${SHLIB_VERSION_HISTORY}" \ symlink.$(SHLIB_TARGET); \ - libs="$$libs -l$$i"; \ done build-shared: do_$(SHLIB_TARGET) link-shared @@ -291,7 +291,7 @@ do_$(SHLIB_TARGET): libs="$(LIBKRB5) $$libs"; \ fi; \ $(CLEARENV) && $(MAKE) -f Makefile.shared -e $(BUILDENV) \ - LIBNAME=$$i LIBVERSION=${SHLIB_MAJOR}.${SHLIB_MINOR} \ + LIBNAME=$$i LIBVERSION=${SHLIB_SONAMEVER} \ LIBCOMPATVERSIONS=";${SHLIB_VERSION_HISTORY}" \ LIBDEPS="$$libs $(EX_LIBS)" \ link_a.$(SHLIB_TARGET); \