Skip site navigation (1)Skip section navigation (2)
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>