On Tue, 2007-11-06 at 11:00 +0900, John Summerfield wrote: > Ralf Corsepius wrote: > > 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. > > > Bruce, the OP, was talking about doing this for his own use on his own > system. He's functioning as an administrator and not as a vendor. Nit-picking. The difference is moot. It doesn't matter who builds a piece of SW, whether he exercises "configure && make && make install" or installs a pre-built tar-ball or rpm. The result to his system is the same: A package is being installed. > >> I prefer --prefix=/usr/local/gcc42 over /opt anything. > > Read the FHS. /usr/local/<package> violates the FHS. > > We're talking about Bruce on his own computer. He owns /usr/local and > can do what he wants with it. Vendors don't get a vote. Yes, everybody has the right to shoot himself into his own foot. > > 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|...]. > > He's not, and Linux does not follow commercial unix practice, and the > FHS differs significantly from standard unix practice. FHS is a guideline trying provide a "standard unix practice". The fact that almost any admin implements his own "private conventions" is a different problem. > >> 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. > > For Bruce on his own machine, those are the standard places. Where else? > Certainly not /opt. I disagree. /opt/ is a perfect location for parallel installation. /usr/local is an appropriate location to override the system without distroying the OS-vendor's installation. Ralf