Date: Fri, 19 Apr 2024 22:05:17 -0400 From: Josef 'Jeff' Sipek <jeffpc@josefsipek.net> To: Warner Losh <imp@bsdimp.com> Cc: FreeBSD Hackers <freebsd-hackers@freebsd.org> Subject: Re: Upgrading -RELEASE to -CURRENT Message-ID: <ZiMi3Zb1jVrPSOQL@satis> In-Reply-To: <CANCZdfr%2BAkReL0hGnZODTdovRD%2BFPhWKtirNX4g3nk1GCLuSFQ@mail.gmail.com> References: <ZiL0LHM3i2rZGtvr@satis> <ZiMHdH4qu2ovfd1M@int21h> <CANCZdfr%2BAkReL0hGnZODTdovRD%2BFPhWKtirNX4g3nk1GCLuSFQ@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Apr 19, 2024 at 18:15:59 -0600, Warner Losh wrote:
> On Fri, Apr 19, 2024, 6:08 PM void <void@f-m.fm> wrote:
>
> > On Fri, Apr 19, 2024 at 06:46:04PM -0400, Josef 'Jeff' Sipek wrote:
> >
> > >Is upgrading from 14.0-RELEASE directly to -CURRENT supposed to work? I
> > >didn't see anything in the docs that says it shouldn't.
> >
> > I think the general principle is "upgrade to latest version of thing
> > before upgrading major version" so for 14.0 that would involve building &
> > installing 14-stable and then 15-current.
> >
>
>
> Last release to current almost always works. So 14.0 to current is doable.
> I did 14.0 beta1 -> current 3 weeks ago.
>
> Etcupdate pre mode, Buildworld, buildkernel, installkernel, reboot,
> installworld, etcupdate, reboot -r
>
> But OP said they did that twice, once for stale/14 and once for main so I'm
> not sure what is going on. Need error message i think.
Ok, trying again:
0. install from ISO & freebsd-update to 14.0-RELEASE-p6; install git from pkg
1. git clone main (1bd4f769caf) into /usr/src
2. cd /usr/src
3. make buildworld -j48
First build I get a fairly prompt failure:
sh: llvm-min-tblgen: not found
Some flailing around with 'make clean' and retrying the same buildworld
gets past it. At this point, I have llvm-min-tblgen{,.debug} in
/usr/obj/... (I'm assuming that there is some missing dependency in
tools build.)
Weirdly enough, from this point on, if blow everything away (git clean
-fdx; rm -rf /usr/obj/*), the subsequent 'make buildworld -j48' is fine.
So,
a. the first time(?) I try buildworld, it fails because of missing
llvm-min-tblgen
b. subsequent buildworlds complete fine even if there is no OBJDIR and
the tree is clean
4. make buildkernel -j48
5. etcupdate -p
6. make installkernel -j48
7. reboot (into single user mode)
8. zfs set readonly=off zroot/ROOT/default
9. zfs mount -a
10. cd /usr/src
11. make installworld -j48
12. etcupdate -B
This prints "Failed to build new tree." and exits with 1
13. cc
ld-elf.so.1: /lib/libcxxrt.so.1: version CXXABI_1.3.11 required by /lib/libc++.so.1 not found
14. reboot -r (sort of pointless to mention given that the system is already
in a broken state)
(At this point, cc, and other C++-based programs fail to run.)
So, it looks like 'etcupdate -B' is upset for whatever reason.
I'll try to poke at various things, but I've seen these two failures (llvm-min-tblgen
and CXXABI) about half a dozen times when I try to go from 14.0-RELEASE to
-CURRENT, but *zero* times if I make a detour through -STABLE.
Thanks,
Jeff.
P.S. I've seen the same exact failures on my "antique" 4-core Nehalem. So,
I don't think it has to do with the high parallelism (-j48) in the above
steps.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ZiMi3Zb1jVrPSOQL>
