Re: Searching for local libraries
- Michail Vidiassov wrote:
> On Fri, 31 Mar 2006, Bram Moolenaar wrote:/usr/local is a standard place to install additional packages. If you
> >> If reference to $prefix/lib are added before reference /usr/local/lib
> >> (and to $prefix/include before /usr/local/include),
> >> a small improvement can be achieved with small risk of harming anybody.
> > I don't quite agree. $prefix is supposed to be used to specify where a
> > program is to be installed. I find it quite unexpected if this also
> > means the directories there will be searched for libraries and include
> > files. Thus installing somewhere else may cause a different binary to
> > be produced. I don't think that is supposed to happen.
> But as of now a user may also be surprised by vim adding
> /usr/local to libaray and header search paths, without any asking.
> What if /usr/local/lib was excluded from LDFLAGS for a reason?
> Only when the directory exists and it wasn't there yet.
add something there it's to be expected that it gets used.
> > If someone does have a different place than /usr/local where specificLet me give a specific example:
> > libraries and include files are to be found, perhaps we can use another
> > variable for that. I don't know what would be a "standard" name for
> > this.
> I have proposed an improvement to present guessing algorithm.
> The deficiencies of my proposal originate from the deficiencies of
> the idea of guessing locations.
> I concur that a consistent approach is another variable for
> libraries and include files location or just telling the user to
> set LDFLAGS and CFLAGS correctly (in LARGE FRIENDLY LETTERS ;)
- Admin wants to try out a new version of Vim for himself. He specifies
prefix=$HOME. This causes some recent GTK version to be found in
$HOME/lib. Vim works well.
- Admin sees that new Vim works nice and decides to install it for all
users. Admin specifies prefix=/usr/local or prefix=/opt/local and
rebuilds Vim. Suddenly a different GTK version is used that causes
bugs to popup. Users get angry at Admin.
The point is that $prefix is ONLY for specifying where something is to
be installed, not for anything else.
No man may purchase alcohol without written consent from his wife.
[real standing law in Pennsylvania, United States of America]
/// Bram Moolenaar -- Bram@... -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://www.ICCF.nl ///
- Dear Bram,
On Fri, 31 Mar 2006, Bram Moolenaar wrote:
> Let me give a specific example:
thank you. Now I see your point.
> /usr/local is a standard place to install additional packages. If you
> add something there it's to be expected that it gets used.
Just a side note:
Happy are Linux or BSD users who have one (system) package manager.
Mac OS has many, one uses /usr/local by default,
other /sw/local and mine /opt/local.
But again, I see your point, /usr/local is more standard than others
and deserves VIP treatment.