From owner-freebsd-hackers Thu Dec 17 09:46:32 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id JAA23488 for freebsd-hackers-outgoing; Thu, 17 Dec 1998 09:46:32 -0800 (PST) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from ocean.lucon.org (ocean.lucon.org [209.249.10.145]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id JAA23479 for ; Thu, 17 Dec 1998 09:46:27 -0800 (PST) (envelope-from hjl@lucon.org) Received: by ocean.lucon.org (Linux Smail3.2.0.103 #1) id m0zqhV2-000393C; Thu, 17 Dec 1998 09:46:08 -0800 (PST) Message-Id: From: hjl@lucon.org (H.J. Lu) Subject: Re: _Xsetlocale To: devel@XFree86.Org Date: Thu, 17 Dec 1998 09:46:08 -0800 (PST) Cc: hackers@FreeBSD.ORG In-Reply-To: <36793354.26B665ED@ics.com> from "Kaleb S. KEITHLEY" at Dec 17, 98 11:37:40 am Content-Type: text Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > > "H.J. Lu" wrote: > > > > > > > > This is (just one reason) why ld.so.cache is just a bad idea. > > > > That is your opinion. > > Up yours too. > > It's an opinion based on years of developing software on a variety of > operating systems. I don't live in a one-OS world as you seem to do. I > routinely look at how things work on other systems, and I know what > works and I know what doesn't work. And after five years of developing > on Linux I've seen this same problem over and over and over again -- the > ld.so.cache causes more problems than it solves. If you run # ldconfig -p you may see libX11.so.6 (libc5) => /usr/i486-linux-libc5/lib/libX11.so.6 libX11.so.6 (libc6) => /usr/X11R6/lib/libX11.so.6 As you can see, although we have the same name, libX11.so.6, it shows which C library it was linked against. We implement this TAG in ld.so.cache and ld.so so that ld.so won't pick up the wrong shared library when libX11.so.6 is asked. To support it, we also have to teach the linker to know it and tell gcc to pass -lc to linker when building the shared library. > > > Everything should be if egcs 1.1.1 is used on Linux. > > Everything should be what??? Everything should be okay? > I missed the OK part. > > Perhaps you'd care to elaborate on how a different compiler will change > link and ld.so semantics? See above. > > > I can help if there is any problem. > > > > > > > > What would it take to get the boneheads who do the linux distributions > > > to take /usr/X11R6/lib out of their ldconfig? XFree86 binaries have > > > RPATH and NEEDEDs, so they don't need no steenking ld.so.cache. > > > > > > > /usr/X11R6/lib in ld.so.conf is not the problem. > > An opinion? > > > gcc 2.[78].x is. > > How is that? > 1. gcc 2.7 won't pass -lc to linker when building the shared library. 2. gcc 2.8 is too buggy to use. -- H.J. Lu (hjl@gnu.org) To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message