Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 24 Nov 2019 18:27:14 +0100
From:      Polytropon <freebsd@edvax.de>
To:        Nilton Jose Rizzo <rizzo@rizzo.eng.br>
Cc:        "Joe A." <freebsd@chthonixia.net>, freebsd-questions@freebsd.org, Polytropon <freebsd@edvax.de>
Subject:   Re: LLVM 9 versus LLVM 8
Message-ID:  <20191124182714.8ea3f8f6.freebsd@edvax.de>
In-Reply-To: <0b860c6188e90d5f21e48dc6f39cd6dfbe24c335.camel@rizzo.eng.br>
References:  <20191119031500.GB1012@chthonixia.chthonixia.net> <20191119062705.36cc778f.freebsd@edvax.de> <20191119141914.GA2535@chthonixia.chthonixia.net> <0b860c6188e90d5f21e48dc6f39cd6dfbe24c335.camel@rizzo.eng.br>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 24 Nov 2019 13:03:45 -0300, Nilton Jose Rizzo wrote:
> Em ter, 2019-11-19 =E0s 09:19 -0500, Joe A. escreveu:
> > On Tue, Nov 19, 2019 at 06:27:05AM +0100, Polytropon wrote:
> > >=20
> > > If I understand things correctly, situation is the following:
> > >=20
> > > The OS compiler, ...
> > >=20
> >=20
> > <snip>
> >=20
> > Now I understand. Thanks!
> >=20
> > Joe
>=20
>=20
> It's beautiful but not productive, why all ports not setup to use the
> highest version of compiler ( Clang or GCC )?

It's up to the port maintainer to define which toolchain they need.
In case of C and C++, there is plenty of choice, so you might end
up with having 3 versions of GCC and two older versions of Clang/LLVM
installed on your machine, just to get something else running.

Better explanation: Some code bases explicitely require older
versions of build tools because the sources won't build on the
most recent version of those tools. On FreeBSD, it is possible
to have different versions of a compiler or interpreter installed,
so the port maintainer will define the build dependencies as he
things it should work. While FreeBSD (the OS) has switched from
GCC to Clang/LLVM for its own sources, 3rd party software in the
ports collection do not have to make that move - they can still
require an older version of GCC. This is quite typical for those
ported over from Linux. For example, if you build pdftk, it will
first build and install binutils and a specific version of GCC;
if you then build wine, a different version of GCC will be added.
And if you build and install ffmpeg with lame support, it will
install several Python packages - both for 2.x and 3.x.

Yes, this isn't beautiful, but sadly sufficiently productive. ;-)



--=20
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...



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