diff options
author | peter <peter@FreeBSD.org> | 2003-09-04 04:29:11 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2003-09-04 04:29:11 +0000 |
commit | 06abe0101f42bafaf0730cd7bfec92ea592b1f4d (patch) | |
tree | 21f10be075624986bed3259514c44afb84204117 /share | |
parent | f238f6b9907dfded801442277314c602b2e5a2e4 (diff) | |
download | FreeBSD-src-06abe0101f42bafaf0730cd7bfec92ea592b1f4d.zip FreeBSD-src-06abe0101f42bafaf0730cd7bfec92ea592b1f4d.tar.gz |
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.
Diffstat (limited to 'share')
-rw-r--r-- | share/mk/bsd.lib.mk | 4 |
1 files changed, 4 insertions, 0 deletions
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) |