Undefined symbol "funlinkat@FBSD_1.6"

After wasting a couple of days trying to run freebsd-update to update from either 12.1 to 12.2 or 13.0 and failing miserably due to '****** has incorrect hash' I decided to extract kernel.txz and base.txz from 13.0 over the top of the existing 12.1. This only took around a minute or two and on reboot 13.0 startted to boot.

The boot process stops with this error:-

ld-elf.so.1: /lib/libutil.so.9: Undefined symbol "funlinkat@FBSD_1.6"
Mounting root filesystem rw failed. Startup aborted

Presumably I get this error because a number of files were in use at the time of the extract and could not be replaced by the newer files. I have now made sure that both of these files are part of the 13.0 release, but still get the error.

Can anyone suggest what I should do?
Not all files have been updated. Freebsd set the annoying noschg flag on some files.
It is said it's for security, but i believe it's only due to some old history.

So try at new to extract the tars, but before run something like this in / :
chflags -R noschg bin boot encrypted etc lib libexec media net private proc rescue root sbin usr var
Then all files will be updated during the tar extraction process.
I guess I should have run chflags -R 0 / before the extract...

Anyway, I have things working now after doing another extract.

Lesson learned.