From owner-freebsd-current Wed Feb 14 12: 3:15 2001 Delivered-To: freebsd-current@freebsd.org Received: from harmony.village.org (rover.village.org [204.144.255.66]) by hub.freebsd.org (Postfix) with ESMTP id 1B29D37B401 for ; Wed, 14 Feb 2001 12:03:12 -0800 (PST) Received: from harmony.village.org (localhost.village.org [127.0.0.1]) by harmony.village.org (8.11.1/8.11.1) with ESMTP id f1EK3BW90809 for ; Wed, 14 Feb 2001 13:03:11 -0700 (MST) (envelope-from imp@harmony.village.org) Message-Id: <200102142003.f1EK3BW90809@harmony.village.org> To: current@freebsd.org Subject: The next problem in the shared library bump. Date: Wed, 14 Feb 2001 13:03:11 -0700 From: Warner Losh Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG OK. I upgraded my current box last night. I found a major problem in Peter's fixes. The problem has to do with other shared libraries. We generate new shared libraries (say libcam.so.2) that have the dependency on __stderr and therefore libc.so.5.20010213. However, old binaries still link against both these new versions of the libraries (say libcam.so.2) and the older libc.so.4 or libc.so.5, so these binaries fail to load. This is because we've silently changed the ABI for every single shared library in the system that uses std{in,out,err} in the latest build of the tree. As such, I think we need to bump the major version of every library in the system that uses std{in,out,err}: libcam.so.2 libcom_err.so.2 libcrypto.so.1 libdes.so.3 libdevstat.so.2 libdialog.so.4 libedit.so.3 libfetch.so.2 libftpio.so.5 libg2c.so.1 libhistory.so.4 libipsec.so.1 libisc.so.1 libkvm.so.2 libm.so.2 libncp.so.1 libncurses.so.5 libopie.so.2 libpam.so.1 libpcap.so.2 libperl.so.4 libreadline.so.4 libskey.so.2 libstdc++.so.3 libutil.so.3 The list was generated using egrep -l __stderr since we don't install symbols for elf shared libraries that nm can get to easily These are the libraries that have the __stderr string in them. There may be some false positives on the list, but I kinda doubt it. We don't need to do this for ports because a) the window of brokenness is small and b) it is only a problem in buildworld since all the libraries there are changed all at once. So it looks like it is not a good time to try to upgrade your systems to the newest current. Warner To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message