Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 28 Jul 2019 10:20:39 -0700
From:      Kevin Oberman <rkoberman@gmail.com>
To:        Stefan Esser <se@freebsd.org>
Cc:        FreeBSD Ports ML <freebsd-ports@freebsd.org>, gerald@freebsd.org
Subject:   Re: Massive PORTS_REVISION bump after making gcc-9.1 default
Message-ID:  <CAN6yY1sR=iynjqacu1ctAJ6Y64ZHnQKeO-GJ5BzcBCcicm6WSg@mail.gmail.com>
In-Reply-To: <8cf76d79-3a08-7703-d2a8-f6605438dd8a@freebsd.org>
References:  <CAN6yY1sT1-gt6qW=9mWBbN02Kbsu=N5=Mt7qVexJSDo1d3C4rA@mail.gmail.com> <8cf76d79-3a08-7703-d2a8-f6605438dd8a@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Jul 28, 2019 at 7:06 AM Stefan Esser <se@freebsd.org> wrote:

> Am 28.07.19 um 01:26 schrieb Kevin Oberman:
> > Today I was hit with 226 ports needing update. With one exception, all
> were
> > the result of the bump or the default gcc version to 9.1. The problem is
> > that 9.1 was not installed first, so over 43 of these ports were rebuilt
> > with the exact same compiler it was built with before the rebuild, eating
> > up 2:45 of time on my build system. I'm sure if was less for many as my
> > build system is over 8 years old. It was non-trivial in any case.
>
> Which port management tool did you use to rebuild the updated ports?
>
> I just checked what portmaster does, and it appears to build gcc-9.1
> before starting to update ports that depend on it.
>
> It was the 78th port out of 653 out-dated ports (most of them due to
> a bumped port revision because of the gcc update), and I checked with
> "make all-depends-list" that none of the first 77 ports depended on
> gcc ...
>
> > Should an install of gcc9 preceded all updates? Perhaps a note in
> UPDATING?
> > I certainly looked there before I started when I saw 226 ports in the
> list.
>
> Updating required build tools before ports that require them should
> be automatic, if a tool like portmaster, portupgrade or poudriere is
> used.
>
> Regards, STefan
>

I used "portmaster -a". The problem is that all ports compiled with gcc had
PORTREVISION bumped. Most do not have a run-time dependency on gcc. I am
pretty sure that gcc9 was updated prior to the build of any port that did
have a run dependency, but that is a tiny minority of the ports that had
PORTREVISION bumped. It deems likely that the code generated by gcc9 will
be different from that generated by gcc8 and I admit that I lack the
expertise to know whether this really justifies a port rebuild.

The description of the commit states:

This includes ports
 - with USE_GCC=yes or USE_GCC=any,
 - with USES=fortran,
 - using Mk/bsd.octave.mk which in turn features USES=fortran, and
 - with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
   c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, everything INDEX-11 shows with a dependency on lang/gcc9 now.

This would appear to me like it did catch a great many ports which are not
build with or any anything to do will gcc, though I am not sure. E.g. I
thought that USES=compiler:c11 and similar were asking for c11 semantics
from whatever compiler was used but, again, I am not familiar enough with
compilers to be clear on this. My days of serious coding ended back to the
80s and were generally focused on assembly language and several languages
which have not been used this century.

So, do I really need to re-install audio/faac which has "USES=compiler:c11
"? I seriously doubt it, but I'm just not sure, which is why I asked.
--
Kevin Oberman, Part time kid herder and retired Network Engineer
E-mail: rkoberman@gmail.com
PGP Fingerprint: D03FB98AFA78E3B78C1694B318AB39EF1B055683



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAN6yY1sR=iynjqacu1ctAJ6Y64ZHnQKeO-GJ5BzcBCcicm6WSg>