From 06abe0101f42bafaf0730cd7bfec92ea592b1f4d Mon Sep 17 00:00:00 2001 From: peter Date: Thu, 4 Sep 2003 04:29:11 +0000 Subject: Emergency backout of rev 1.152. This is a 100% guaranteed way to totally hose your system. You end up with just about everything statically linked (except for libpam.so), which then causes all the pam users to fail. eg: login, sshd, su etc all stop working because dlopen no longer works because there is no libc.so in memory anymore. gcc passes -L/usr/lib to ld. The /usr/lib/libxxx.so symlink is *not* a compatability link. It is actually the primary link. There should be no symlinks in /lib at all. Only /lib/libXX.so.Y. peter@daintree[9:27pm]/usr/bin-104> file yppasswd yppasswd: setuid ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), for FreeBSD 5.1.1, dynamically linked (uses shared libs), stripped peter@daintree[9:27pm]/usr/bin-105> ldd yppasswd yppasswd: libpam.so.2 => /usr/lib/libpam.so.2 (0x280d1000) peter@daintree[9:28pm]/usr/bin-106> Note no libc.so.5. Hence libpam.so.2 has unresolved dependencies. I believe this is also the cause of the recent buildworld failures when pam_krb5.so references -lcrypto stuff etc and when librpcsvc.so references des_setparity() etc. This change could not possibly have worked, unless there are other missing changes to the gcc configuration. It won't work with ports versions of gcc either. --- share/mk/bsd.lib.mk | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk index fbde35d..58bce19 100644 --- a/share/mk/bsd.lib.mk +++ b/share/mk/bsd.lib.mk @@ -209,6 +209,10 @@ _libinstall: ${SHLIB_NAME} ${DESTDIR}${SHLIBDIR} .if defined(SHLIB_LINK) ln -fs ${SHLIB_NAME} ${DESTDIR}${SHLIBDIR}/${SHLIB_LINK} +.if (${LIBDIR} != ${SHLIBDIR}) + ln -fs ${LIBDIR:C|/[^/]+|/..|g:S|^/||}${SHLIBDIR}/${SHLIB_NAME} \ + ${DESTDIR}${LIBDIR}/${SHLIB_LINK} +.endif .endif .endif .if defined(INSTALL_PIC_ARCHIVE) && defined(LIB) && !empty(LIB) -- cgit v1.1