LLVM 9 versus LLVM 8

Polytropon freebsd at edvax.de
Sun Nov 24 17:28:02 UTC 2019

On Sun, 24 Nov 2019 13:03:45 -0300, Nilton Jose Rizzo wrote:
> Em ter, 2019-11-19 às 09:19 -0500, Joe A. escreveu:
> > On Tue, Nov 19, 2019 at 06:27:05AM +0100, Polytropon wrote:
> > > 
> > > If I understand things correctly, situation is the following:
> > > 
> > > The OS compiler, ...
> > > 
> > 
> > <snip>
> > 
> > Now I understand. Thanks!
> > 
> > Joe
> 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. ;-)

Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...

More information about the freebsd-questions mailing list