Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 16 Dec 2018 03:32:07 +0100
From:      Jan Beich <jbeich@FreeBSD.org>
To:        Kevin Oberman <rkoberman@gmail.com>
Cc:        "ports\@FreeBSD.org" <ports@freebsd.org>, Gerald Pfeifer <gerald@pfeifer.com>
Subject:   Re: Massive PORTREVSION bump for gcc8
Message-ID:  <r2ei-jj6g-wny@FreeBSD.org>
References:  <CAN6yY1tfyOieHGKhD7XRg4ip0yz4mQx0%2BDpoT_ufyjCT0P7dZw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Kevin Oberman <rkoberman@gmail.com> writes:

> This morning the PORTREVISION on at least hundreds of ports was bumped
> because gcc8 was declared as the "canonical" version. As a result, I will
> have about 300 ports to rebuild which will take many hours.
> Why?

USE_GCC embeds RPATH during build where libgcc_s, libgfortran,
libstdc++, etc. can be found. Mixing different versions (e.g., libgcc_s
from lang/gcc7 with libgfortran from lang/gcc8) may destabilize
runtime. Rebuild is necessary to ensure the consistent state, mainly for
portmaster/portupgrade that don't rebuild every time dependency is upgraded.

USE_GCC is implicitly set by USES=compiler on architectures stuck with
GCC in base i.e., powerpc*/sparc64/mips*/riscv*.

> This will lead to a delay of probably several days in getting updated
> packages built for LATEST repos and will consume hours of CPU time for
> everyone using poudriere or building from ports.

According to 11.2 amd64 builder[1] /latest rarely finishes faster than
in ~1.575 days as the median queue is ~8201 packages. GCC bump occured
in r487333 build. During that time Boost (with bumps) and ImageMagick
also updated, forcing a big number[2] of consumers rebuilt.

[1] http://beefy9.nyi.freebsd.org/jail.html?mastername=112amd64-default
[2] poudriere aggressively obsoletes packages if it detects dependency
    changed, taking down even indirect consumers in a chain reaction.

    $ poudriere bulk -j 112amd64 devel/magit www/emacs-w3m
    [...]
    Checking packages for incremental rebuild needs
    Deleting ImageMagick6-6.9.10.14_2,1.txz: new version: 6.9.10.16,1
    Deleting emacs-26.1_4,3.txz: missing dependency: ImageMagick6-6.9.10.14_2,1
    Deleting flim-emacs26-1.14.9_20,1.txz: missing dependency: emacs-26.1_4,3
    Deleting ghub-emacs26-3.0.0.txz: missing dependency: emacs-26.1_4,3
    Deleting graphql.el-emacs26-0.1.1.txz: missing dependency: emacs-26.1_4,3
    Deleting magit-emacs26-2.90.1.txz: missing dependency: emacs-26.1_4,3
    Deleting magit-popup-emacs26-2.12.4_1.txz: missing dependency: emacs-26.1_4,3
    Deleting semi-emacs26-1.14.6_22.txz: missing dependency: emacs-26.1_4,3
    Deleting treepy.el-emacs26-0.1.1.txz: missing dependency: emacs-26.1_4,3
    Deleting with-editor-emacs26-2.8.0_1.txz: missing dependency: emacs-26.1_4,3
    Deleting apel-emacs26-10.8_17.txz: missing dependency: emacs-26.1_4,3
    Deleting dash.el-emacs26-2.14.1_1.txz: missing dependency: emacs-26.1_4,3
    Deleting emacs-w3m-emacs26-1.4.632.b.20181110.txz: missing dependency: emacs-26.1_4,3
    Deleting stale symlinks... done
    Deleting empty directories... done
    Cleaning the build queue
    Sanity checking build queue
    Processing PRIORITY_BOOST
    Balancing pool
    Recording filesystem state for prepkg... done
    Building 13 packages using 8 builders
    [...]



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