Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 Jul 2008 10:19:59 +0200
From:      Erik Trulsson <ertr1013@student.uu.se>
To:        David Southwell <david@vizion2000.net>
Cc:        freebsd-ports@freebsd.org
Subject:   Re: gcc versions following upgrade 6.3 >7.0
Message-ID:  <20080722081959.GA41650@owl.midgard.homeip.net>
In-Reply-To: <200807220107.53942.david@vizion2000.net>
References:  <AB217A93D96E483695869A497569A44A@sleuth64> <20080721110910.GA30467@eos.sc1.parodius.com> <7d6fde3d0807212327j5947fd95we4ca9a16e9769124@mail.gmail.com> <200807220107.53942.david@vizion2000.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Jul 22, 2008 at 01:07:53AM -0700, David Southwell wrote:
> On Monday 21 July 2008 23:27:49 Garrett Cooper wrote:
> > On Mon, Jul 21, 2008 at 4:09 AM, Jeremy Chadwick <koitsu@freebsd.org> wrote:
> > > On Mon, Jul 21, 2008 at 03:11:25AM -0700, david@vizion2000.net wrote:
> > >> FreeBSD **.vizion2000.net 7.0-STABLE FreeBSD 7.0-STABLE #0: Wed Jul 16
> > >> 09:27:38 PDT 2008     @**.vizion2000.net:/usr/obj/usr/src/sys/GENERIC 
> > >> amd64 # pkg_info |grep gcc
> > >> gcc-4.1.3_20080630  GNU Compiler Collection 4.1
> > >> gcc-4.2.5_20080702  GNU Compiler Collection 4.2
> > >> gccmakedep-1.0.2    Create dependencies in makefiles using 'gcc -M'
> > >>
> > >> Should both versions be installed?
> > >
> > > That depends.  Are you using any ports which depend on specific versions
> > > of GCC?  The base system version comes with gcc 4.2.1.  There may be
> > > ports which require older or newer GCC, however.
> > >
> > > "pkg_info -R" should help you determine what ports are dependant upon
> > > those two GCC ports.
> >
> > There isn't anything wrong with having multiple compilers installed on
> > a given system, insomuch as they install within separate directories
> > or are prefixed differently. The sym-/hard-links for the compiler last
> > installed may be the one that gets used though (not sure because I
> > don't have any experience installing gcc from ports on FreeBSD)...
> >
> > >> Do they not place files in same place?
> > >
> > > No.
> >
> > This ties into the reply above, but if you have a compiler provided by
> > the base system and a compiler provided by ports, they won't install
> > in the same location, as ${PREFIX} dictates in ports.
> >
> > -Garrett
> What happens, as in this instance, the system was originally on 6.1 then 6.3 & 
> subsequently upgraded to 7.0?

The version of gcc shipped with 6.3 is 3.4.6.
What probably happened was that you installed some port that required
gcc 4.1 or newer to build, and thus gcc-4.1 was installed automatically as
part of the dependencies for that port.
Later you installed some port that needed gcc 4.2 or later, at which point
gcc-4.2 was installed for you.

If you had been running 7.0 from start, then the gcc ports would not have
been needed, since (as has been noted) FreeBSD 7.0 includes gcc 4.2.

> 
> How can I tell whether the versions were installed by the base system or via 
> ports?

If they show up with pkg_info, then they were installed via the ports
system.


> 
> I am not clear about how the system distinguishes between gcc installed via 
> ports and via base system.

Installed in different places:  Just about everything installed from ports
(or packages) will end up under /usr/local/ (or on older systems under
/usr/X11R6/)  Files that are part of the base system will not be installed
there.

> Indcidentally when did gcc become part of the base 
> system?

gcc has always been part of the base system. (Otherwise it would have been
difficult to recompile the base system, or to compile any ports.)


-- 
<Insert your favourite quote here.>
Erik Trulsson
ertr1013@student.uu.se



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080722081959.GA41650>