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