--without-local-prefix Does Not Work

Ralf Corsepius corsepiu@faw.uni-ulm.de
Wed Sep 16 22:55:00 GMT 1998


Jeffrey A Law wrote:

>   In message < 35F840F5.AF965A4B@faw.uni-ulm.de >you write:
>   > > Specifying "no" does not disable the use of local_prefix, nor should
>   > > it.  The fact that it did so in earlier snapshots/releases was a bug.
>   > >
>   >
>   > Why? Could you please be a bit more specific?
> $local_prefix/include is where gcc expects to find certain header files
> that have been installed by other packages or sysadmins.   Typically
> /usr/local/include.
>

I see - How about changing this default to use --with-local-prefix only if it is passed to
configure.

This would offer sysadmins know to need local_prefix to add it and should not disturb
other. IMO, this is at least as bogus as the current behavior which silently keeps users
uninformed about local_prefix/include to be added to the include path.

>   > 1. Our  amd-based network, machines don't have /usr/local (intentionally re
>   > moved
>   > by the sysadmin). With egcs silently adding /usr/local/include to the inclu
>   > de
>   > path, each invocation of gcc and friends contacts amd to resolve
>   > /usr/local/include. - A secure way to produce heavy traffic on a network.
> So configure with --local-prefix=/nowhere.
>

Are you sure? AFAIK, the directory used has to exist to prevent amd not to try to resolve
the path.


>
>
>
>   > One alternative I see to circumvent these problems is to manually redirect
>   > local_prefix to an arbitrary directory ($prefix/local/include or $prefix/include,
>   > but who knows which kind of trouble will result from this).
> The Makefile says explicitly that local_prefix should not default
> from prefix.
>

There seems to be another arguable issue related to local_prefix(egcs-19980914):

egcs, configured as follows:
configure \
--prefix=/opt/gnu/egcs \
--with-local-prefix=/opt/gnu/egcs/local

Now I noticed, that
* if /opt/gnu/egcs/local exists at built-time, /opt/gnu/egcs/local/include gets added to
the include path,
* if /opt/gnu/egcs/local does NOT exist at built-time, /opt/gnu/egcs/local/include does
not get added to the include path.

IMO, if I give --with-local-prefix=<somedir>, it should be added to include, no matter if
it exists at built-time or not.

Imagine, that
* I want to install something compiled by egcs to $local_prefix after egcs has been
installed or
*that I am building egcs on an isolated machine which doesn't have a $local_prefix
directory and later want to transfer the egcs binary to another machine that has this
directory (BTW, this is the principle our sysadmin applies to configure/build autoconf-ed
packages, because autoconf sometimes has problems in detecting automounted
directories/files).

Ralf

--

Ralf Corsepius
Forschungsinstitut fuer Anwendungsorientierte Wissensverarbeitung (FAW)
Helmholtzstr. 16, 89081 Ulm, Germany     Tel: +49/731/501-8690
mailto:corsepiu@faw.uni-ulm.de           FAX: +49/731/501-999
http://www.faw.uni-ulm.de





More information about the Gcc mailing list