[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: gcc install/upgrade question



On Tue, 2007-11-06 at 08:00 +0900, John Summerfield wrote:
> Ralf Corsepius wrote:
> > On Mon, 2007-11-05 at 19:03 +0900, John Summerfield wrote:
> 
> >>
> >> The standard way in this case is to follow the supplier's advice:FSF in 
> >> this case. It should install to /usr/local, well out of your way and 
> >> defined by standards to be used this way.
> > If you do this, you are replacing the "system compiler" with a local one
> > (/usr/local is special to gcc!). You will rarely want to do this under
> > linux.
> 
> It's true that installing binaries to /usr/local/bin makes it the 
> default compiler, but you do get to choose with your PATH settings.
>
> > 
> > Much less error prone is to install to a 
> > prefix != /usr and prefix != /usr/local.
> > 
> > The LSB recommended way would be to install to /opt or a subdirectory
> > thereof (e.g. --prefix=/opt/gcc42).
BTW: FHS would have been correct (my fault).

> /opt commonly seems to be populated with rpms.
>  I'd keep out of it:
/opt is reserved for vendors. That's exactly what you act as when
installing additional packages in parallel to the one the OS vendor
installs.

> I prefer --prefix=/usr/local/gcc42 over /opt anything.
Read the FHS. /usr/local/<package> violates the FHS.

/usr/local/ traditionally is meant to be machine-local and meant to
override the OS's defaults without destroying the OS-vendor's
installation.

Think of installing GCC on a "commercial *nix" (e.g. Solaris, AIX etc.).
GCC is designed in a way such it installs to /usr/local/[bin|lib|...]
that is doesn't collide with the OS-vendor's installation in
/usr/[bin|lib|...].

>  The vendor 
> (Fedora in this case) is forbidden the use of /usr/local
Right.

>  (and 
> /var/local) beyond the basic layout whereas vendors often use /opt.
Right, because vendors want to install in parallel to the OS, and not to
override the OS (such as GCC).

..., but this discussion is as old as the FHS exists. We won't solve it,
either. All I can say: Don't install gcc to /usr/local/(bin|lib|...)
unless you want to override the OS's setting. The devil is in the
details.

Ralf



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]