On Dec 17, 2025, at 16:40, bob prohaska <[email protected]> wrote: > On Wed, Dec 17, 2025 at 02:36:05PM -0800, Mark Millard wrote: >> On Dec 17, 2025, at 12:35, bob prohaska <[email protected]> wrote: >> >>> On Wed, Dec 17, 2025 at 11:12:50AM -0800, Mark Millard wrote: >>>> On Dec 17, 2025, at 10:46, bob prohaska <[email protected]> wrote: >>>> >>>>> On Wed, Dec 17, 2025 at 09:29:50AM -0800, Mark Millard wrote: >>>>>> On Dec 17, 2025, at 06:30, bob prohaska <[email protected]> wrote: >>>>>> >>>>>>> On Tue, Dec 16, 2025 at 05:45:03PM -0800, Mark Millard wrote: >>>>>>>> bob prohaska <fbsd_at_www.zefox.net> wrote on >>>>>>>> Date: Tue, 16 Dec 2025 23:47:14 UTC : >>>>>>>> >>>>>>>>> On Tue, Dec 16, 2025 at 08:49:06PM +0100, Dag-Erling Smørgrav wrote: >>>>>>>>>> bob prohaska <[email protected]> writes: >>>>>>>>>>> What's the best way to restore normal operation? Something like >>>>>>>>>>> poudriere bulk -a >>>>>>>>>> >>>>>>>>>> poudriere bulk $(pkg query -e '%#r == 0' '%o') >>>>>>>>>> >>>>>>>>> >>>>>>>>> Something's amiss. A simple copy-paste of the command yields >>>>>>>>> "Illegal variable name.", maybe I'm using the wrong shell. >>>>>>>> >>>>>>>> And older --and possibly less shell dependent-- notation >>>>>>>> would be the use of a pair of backquotes: >>>>>>>> >>>>>>>> poudriere bulk `pkg query -e '%#r == 0' '%o'` >>>>>>>> >>>>>>>> (That notation is not so nice for usage that involves >>>>>>>> wanting nested usage.) >>>>>>>> >>>>>>>>> However, it appears that pkg query -e '%#r == 0' '%o' >>>>>>>>> generates a list of built packages, so I tried running >>>>>>>>> pkg query -e '%#r == 0' '%o' > package.list >>>>>>>>> which worked, followed by >>>>>>>>> poudriere bulk -j main -f package.list >>>>>>>>> >>>>>>>>> That got off to a good start but didn't end well: >>>>>>>>> >>>>>>>>> [00:00:01] Creating the reference jail... done >>>>>>>>> [00:00:54] Mounting system devices for main-default >>>>>>>>> [00:00:54] Mounting ports/packages/distfiles >>>>>>>>> [00:00:54] Stashing existing package repository >>>>>>>>> [00:00:58] Mounting packages from: >>>>>>>>> /usr/local/poudriere/data/packages/main-default >>>>>>>>> /etc/resolv.conf -> >>>>>>>>> /usr/local/poudriere/data/.m/main-default/ref/etc/resolv.conf >>>>>>>>> [00:00:58] Starting jail main-default >>>>>>>>> [00:01:10] Logs: >>>>>>>>> /usr/local/poudriere/data/logs/bulk/main-default/2025-12-16_15h32m41s >>>>>>>>> [00:01:10] Loading MOVED for >>>>>>>>> /usr/local/poudriere/data/.m/main-default/ref/usr/ports >>>>>>>>> [00:01:25] Ports supports: FLAVORS SUBPACKAGES SELECTED_OPTIONS >>>>>>>>> [00:01:25] Gathering ports metadata >>>>>>>>> [00:01:25] Error: MOVED: devel/libpthread-stubs 2023-03-12 No >>>>>>>>> consumers left and never supported pthread stubs in libc on FreeBSD >>>>>>>>> [00:01:25] Warning: MOVED: devel/pygobject3-common renamed to >>>>>>>>> devel/pygobject-common >>>>>>>>> [00:01:25] Warning: MOVED: net/openldap24-client renamed to >>>>>>>>> net/openldap25-client >>>>>>>>> [00:01:25] Error: MOVED: x11-fonts/gentium-basic 2025-12-04 Has >>>>>>>>> expired: Superceeded by Gentium-7.000 >>>>>>>>> https://software.sil.org/gentium/download/ >>>>>> >>>>>> Turns out the above line was because the MOVED line for it >>>>>> was incorrect. That has been fixed to also list >>>>>> x11-fonts/gentium as what to use instead: >>>>>> >>>>>> Wed, 17 Dec 2025 >>>>>> >>>>>> • git: 24b7568ff29c - main - MOVED: x11-fonts/gentium-basic is >>>>>> superceeded by x11-fonts/gentium Matthew Seaman >>>>>> >>>>>>>>> [00:01:25] Warning: MOVED: x11-themes/kf5-oxygen-icons5 renamed to >>>>>>>>> x11-themes/oxygen-icons >>>>>>>>> [00:01:25] Error: Fatal errors encountered gathering initial ports >>>>>>>>> metadata >>>>>>>>> [00:01:25] Cleaning up >>>>>>>>> [00:01:25] Unmounting file systems >>>>>>>>> root@nemesis:/usr/local/poudriere # >>>>>>>>> >>>>>>>>> The reaction to errors is surprising; it seems like both have enough >>>>>>>>> context to handle. >>>>>>>>> The first package can be omitted, and the second package can be >>>>>>>>> replaced. >>>>>>>> >>>>>>>>> >>>>>>>>> What am I missing? >>>>>>>> >>>>>>>> >>>>>>>> Sounds like you can remove devel/libpthread-stubs from >>>>>>>> package.list and can pkg delete it? >>>>>>>> >>>>>>> >>>>>>> Yes to both. >>>>>>>> Sounds like you can replace x11-fonts/gentium-basic with >>>>>>>> x11-fonts/gentium in package.list and can: >>>>>>>> >>>>>>>> pkg delete x11-fonts/gentium-basic >>>>>>>> >>>>>>> Yes to both. >>>>>>> >>>>>>>> Then try the bulk build again based on the updated file. >>>>>>> >>>>>>> Looks like it's working.....Oops, maybe not: >>>>>>> 00:11:32] [03] [00:02:29] Saved devel/autoconf | autoconf-2.72 wrkdir >>>>>>> to: >>>>>>> /usr/local/poudriere/data/wrkdirs/main-default/default/autoconf-2.72.tbz >>>>>>> [00:11:37] [03] [00:02:34] Finished devel/autoconf | autoconf-2.72: >>>>>>> Failed: run-depends >>>>>>> [00:11:49] [03] [00:02:46] Skipping graphics/GraphicsMagick | >>>>>>> GraphicsMagick-1.3.43_3,1: Dependent port devel/autoconf | >>>>>>> autoconf-2.72 failed >>>>>>> followed by a torrent of "Skipping.....[various port names]" >>>>>>> lines. >>>>>>> >>>>>>> I'll let it run until advised to intervene. For now it doesn't look >>>>>>> promising. >>>>>> >>>>>> Failed: run-depends >>>>>> >>>>>> The autoconf-2.72 related poudriere build log file will need >>>>>> to be investigated for evidence about that. >>>>> >>>>> Aye, there's the rub: >>>>> =========================================================================== >>>>> =======================<phase: run-depends >>>>> >============================ >>>>> ===> autoconf-2.72 depends on package: autoconf-switch>=0 - not found >>>>> ===> Installing existing package >>>>> /packages/All/autoconf-switch-20220527.pkg >>>>> [main-default-job-03] Installing autoconf-switch-20220527... >>>>> pkg-static: wrong architecture: FreeBSD:15:* instead of FreeBSD:16:aarch64 >>>> >>>> Yea, poudriere is only rebuilding the specific ports >>>> listed in the file and ones that had updates in the >>>> dependencies. Merely being for :15: instead of :16: >>>> is not leading to an automatic rebuild. >>>> >>>> You will likely want to: >>>> >>>> Delete all the packages that are :15: based and then >>>> run another bulk based on your file. >>>> >>>> The following sort of command would list the packages >>>> that need to be deleted/updated (for example): >>>> >>>> # pkg-static query -e '%q ~ *:15:*' %n-%v >>>> u-boot-tools-2020.07 >>>> unzip-6.0_8 >>>> usbtop-1.0_7 >>>> >>>> You may want to review the list to be sure there are >>>> no surprises. pkg itself being listed would be an >>>> issue, for example. If the list looks okay: >>>> >>>> # pkg-static delete `pkg-static query -e '%q ~ *:15:*' %n-%v` >>>> >>>> should do sufficient deletes to avoid use of :15: >>>> vintage builds in the later poudriere bulk run. >>> >>> It looks as if the logs/error directory is collecting >>> a list of ports that report "wrong architecture.." >>> None of them are things I specifically wanted installed, >>> they were just "part of the furniture": >>> >>> autoconf-2.72.log libxshmfence-1.3.3.log >>> boehm-gc-8.2.10.log py311-evdev-1.9.1_1.log >>> cmake-core-3.31.10.log py311-libevdev-0.11_2.log >>> groff-1.23.0_5.log py311-pyudev-0.24.1_1.log >>> libXau-1.0.12.log py311-pyyaml-6.0.3.log >>> libpciaccess-0.18.1_1.log xtrans-1.6.0_1.log >>> [so far; the list is likely to grow] >> >> Using autoconf as an example: it built but failed >> to find usable some run dependency(s) and so was >> rejected. What has the "wrong architecture.." is >> the dependency, instead of it being autoconf that >> was wrong. >> >> Deleting autoconf would not help. The >> autoconf-2.72.log content: >> >> QUOTE >> [main-default-job-03] Installing autoconf-switch-20220527... >> pkg-static: wrong architecture: FreeBSD:15:* instead of FreeBSD:16:aarch64 >> END QUOTE >> >> indicates that autoconf-switch needs to be deleted >> instead. (There could be more to delete but only >> the first such is reported in the log file.) >> >> Similar points are likely true of many or all of >> the rest of the log-file names: they are likely not >> indicating what to delete. You would need to look >> inside the log files to find some of what to delete >> if you use the log files to figure such out. >> >>> My thought is to simply delete them and re-build any packages >>> needed that are missing. >> >> If "them" was based on the content of the >> logs it would help --but might not provide a >> list of everything to delete. >> >> If you let the existing bulk run finish >> (or stop it) and then do the: >> >> # pkg-static query -e '%q ~ *:15:*' %n-%v >> >> it should produce the appropriate list of >> what to delete as things are at that point. >> >>> Am I setting another trap for myself? >> >> It looks to me like you were expecting to >> delete the wrong list of port-package >> names. I suggest using: >> >> # pkg-static query -e '%q ~ *:15:*' %n-%v >> >> to get the list of what to delete. > > Thank you for a most important clarification; I completely > misunderstood what's wrong. Now it's a little less cloudy. > > I'm still confused about use of the word "architecture". > It connotes hardware, rather than software, to me, with > 15 vs 16 being software versions upgradeable in place.
There is a FreeBSD list: https://lists.freebsd.org/archives/freebsd-arch/ "arch" is short for "archtecture" as I understand. "Software Architecture" has long been an in-use terminology as well. FreeBSD 4.0 (not 14.0) and FreeBSD 15 have a lot of differences, some of which would likely be called differences of Software Architecture in various areas, where things sgificnatly change for how things are structured and operate. But this does not happen all at once on that scale. And, remember, that FreeBSD has platform specific code (such as aarch64 vs. powerpc64). FreeBSD:15:aarch64 vs. FreeBSD:16:powerpc64 notation combines both the software and hardware in what it is refering to. The same message would show up for > Is the sanctioned approach to delete everything and start > over once the host system identifies itself as 16 rather > than 15? In hindsight it looks like less work. === Mark Millard marklmi at yahoo.com
