Hi folks, I was pleased to see that openssl 0.9.6c finally tries to support building shared libraries on HPUX. It's not quite there yet, though. I recommend the attached patch.
I see that in your CVS head the hpux make targets have been patched in a different way, but I consider that solution inferior: it's gratuitously different from all the other platforms, it deliberately breaks HPUX's shared lib dependency records, and it still doesn't fix the *real* problem, which is to make sure that libssl.sl contains the correct absolute path for libcrypto.sl so that the latter can be found when the former is loaded. The right way to make that happen, IMHO, is to set the absolute path in libcrypto.sl's internal name --- see +h switch in the attached. regards, tom lane *** Makefile.org~ Wed Nov 14 05:44:11 2001 --- Makefile.org Sat Feb 16 17:59:40 2002 *************** *** 362,382 **** # This assumes that GNU utilities are *not* used do_hpux-shared: ! libs='${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \ ( set -x; /usr/ccs/bin/ld +vnocompatwarnings \ -b -z -o lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} \ ! +h lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} \ -Fl lib$$i.a $$libs ${EX_LIBS} -lc ) || exit 1; \ ! libs="$$libs -L. -l$$i"; \ done # This assumes that GNU utilities are *not* used do_hpux64-shared: ! libs='${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \ ( set -x; /usr/ccs/bin/ld -b -z -o lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} \ ! +h lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} \ +forceload lib$$i.a $$libs ${EX_LIBS} -lc ) || exit 1; \ ! libs="$$libs -L. -l$$i"; \ done # The following method is said to work on all platforms. Tests will --- 362,382 ---- # This assumes that GNU utilities are *not* used do_hpux-shared: ! libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \ ( set -x; /usr/ccs/bin/ld +vnocompatwarnings \ -b -z -o lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} \ ! +h $(INSTALLTOP)/lib/lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} \ -Fl lib$$i.a $$libs ${EX_LIBS} -lc ) || exit 1; \ ! libs="$$libs -l$$i"; \ done # This assumes that GNU utilities are *not* used do_hpux64-shared: ! libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \ ( set -x; /usr/ccs/bin/ld -b -z -o lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} \ ! +h $(INSTALLTOP)/lib/lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} \ +forceload lib$$i.a $$libs ${EX_LIBS} -lc ) || exit 1; \ ! libs="$$libs -l$$i"; \ done # The following method is said to work on all platforms. Tests will ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List [EMAIL PROTECTED] Automated List Manager [EMAIL PROTECTED]