Date: Sun, 19 Mar 1995 22:11:37 -0800 From: Steven Wallace <swallace@ece.uci.edu> To: nate@sneezy.sri.com (Nate Williams) Cc: Paul Traina <pst@shockwave.com>, CVS-commiters@freefall.cdrom.com, freebsd-ports@FreeBSD.org Subject: Re: cvs commit: src/gnu/usr.bin/ld shlib.c Message-ID: <199503200611.AA25167@balboa.eng.uci.edu> In-Reply-To: Your message of "Sun, 19 Mar 1995 22:46:32 MST." <199503200546.WAA06018@trout.sri.MT.net>
next in thread | previous in thread | raw e-mail | index | archive | help
>> Why were /usr/local/lib and /usr/X11/lib removed from the standard >> search path? Tell me WHY a program should not rely on on a "non-standard" >> path for brining in libraries. You say it is "non-standard", but >> most BSD machines use /usr/local and /usr/X11R6. > > Wow now, that's a statement and a half. 'Most' BSD machine probably > don't have any libraries in /usr/local/lib, and ALOT of machine don't > have X installed on them. Why should we make it the linker search those > paths by default instead of them being specified if they don't exist? > I should have said that is where we have our ports install: /usr/local/lib and /usr/X11R6/lib. > Secondly, one of the more difficult things that happens is code becomes > very FreeBSD-centric, since the writer will not go out of their way to > do the right things for other OS's. Try and build most of the software > written specificall for Linux and you'll know what I mean. It relies on > non-standard behavior of Linux, and will only work on other OS's with > heavy-duty Makefile and config file hacking. I agree. > >> What is the matter >> with defining this as the default search path, and then if a user wants >> to use /opt then they can change that if they want to? > > Because it's non-standard. Who sets the standard? How come for FreeBSD versions 1 and 2 this WAS the standard? > >> This means programs written for any previous FreeBSD version will not >> be able to recompile without modification. > > They are broken then. I would rather not continue this non-standard > behavior here and now, so it doesn't continue on. > Okay, fine. We can say it is 'broken' even though it worked fine before. My big question to you is did you take into consideration the ramificaions of your change before you made it? A change that affects an entire source tree is significant. I am upset that if the FreeBSD team wanted to implement this change it was not discussed and then written into the ports GUIDLINES that strict -L inclusion was to be used for all ports. Now that we are coming close to a new release this change is made late in the ballgame. Now some ports will have to be redone when they could have been done 'correctly' in the first place and saved ports people time if this library search standard was the goal of the team. So the decision is to keep this change and make the FreeBSD world 'fix' their Makefiles NOW, later, or not at all. > It all goes down to do we want to make people 'Do The Right Thing' and > have them add those extra 15 chars to the Makefile so that the code is > portable across many different OS's, or make it FreeBSD specific. > BTW, please tell me what are those extra 15 chars to make everything magically portable? If I do a -L/usr/local/lib in my Makefile and then some other platform uses /opt/lib, don't they have to change my Makefile? If search paths were used then this change would not be needed. Steven
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199503200611.AA25167>