Re: pkg upgrade yields conflicts in message
- Reply: Mark Millard : "Re: pkg upgrade yields conflicts in message"
- In reply to: Mike : "pkg upgrade yields conflicts in message"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 18 Jul 2026 08:45:35 UTC
On 7/17/26 22:29, Mike wrote: > > OK, I had been critical of the "conflicts" presented in pkgs. > > Today, I performed an update, > Many, many! gcc updates downloaded and installed. > > And, after the update, lo and behold ... > > No conflicts noted! > > ..... > > # pkg-do-upgrades.sh > Updating FreeBSD-ports repository catalogue... > FreeBSD-ports repository is up to date. > Updating FreeBSD-ports-kmods repository catalogue... > FreeBSD-ports-kmods repository is up to date. > Updating FreeBSD repository catalogue... > FreeBSD repository is up to date. > All repositories are up to date. > Checking for upgrades (0 candidates): 100% > Processing candidates (0 candidates): 100% > Checking integrity... done (0 conflicting) > Your packages are up to date. > > ..... > > > Of course, there still remains the questions for me... > > Why do I need to download and install all of ... > > gcc12-12.4.0_5 GNU Compiler Collection 12 > gcc13-devel-13.4.1.s20260624 GNU Compiler Collection 13 > gcc14-devel-14.3.1.s20260618,1 GNU Compiler Collection 14 > gcc15-15.2.0_3 GNU Compiler Collection 15 > gcc16-devel-16.1.1.s20260627 GNU Compiler Collection 16 > gcc17-devel-17.0.0.s20260621 GNU Compiler Collection 17 > > > on the server? > > Six different versions of gcc?? > > I mean really, can't FreeBSD get its collective act together and move > towards one or two, even three versions of gcc? No set of FreeBSD Volunteers have agreed to do such a thing for you. Are you volunteering to work on the problem? (It does not sound like it.) There are 6 lang/gcc*-devel that are test builds of upcoming updates (or first release) to the matching non-devel variant. So the total is more like 11 port-packages, as stands. It is also the case that 1 or 2 of the non-devel ones are gcc* releases that provide a context for working on updating port-packages to use them. As for the non-devel ones otherwise (gcc12 . . . gcc16): There are 35000+ FreeBSD port packages, some fraction of which are directly based on using a lang/gcc* and some which may be dependent on those but do not use a lang/gcc* directly. The port packages are not based on native FreeBSD source code but on upstream projects, some of which make little effort to support FreeBSD and some of which support a range of OS's that do not agree on what vintage(s) of gcc* to have around. FreeBSD does not have the resources to update all those upstream projects. Those upstream projects are not all time/gcc-version synchronized. It takes a notable time for most all of the lang/gcc* port-packages to be ready for the next default lang/gcc* . Each does not generally start to update until sometime after its next lang/gcc* is available in the ports tree. The devel/electron*'s have the same sort of issue, but a comparatively tiny number of port-packages dependent on them --but some of those may be heavily used. There are 7 different devel/electron* , 6 of which are commonly blacklisted because it is so resource intensive to build the whole set of them. There is a list of lang/llvm* as well. There are other examples of such for toolchains. Why your context ends up with lang/gcc*-devel usage, I have no idea. A command like: # pkg query -g '%o : %#r' lang/gcc\*-devel should report how many port packages are directly dependent on lang/gcc\*-devel port packages (in your environment). # pkg query -g '%o : %rn-%rv' lang/gcc\*-devel should provide port-package names. Another way is to do a pkg delete of such a port-package to see what it reports would be deleted. > > But six? 11 as stands. > > Wow. Having probably hundreds of port-packages dependent on one a lang/gcc* leads to non-trivial efforts being involved in progressing over time. -- === Mark Millard marklmi at yahoo.com