upgraded to 12.2-RELEASE, library missing

As upgrading my 12.1-RELEASE system from source failed (again), I did a "binary" upgrade. The system runs fine, but one library seems to be missing. How come?

# telnet
ld-elf.so.1: Shared object "libkrb5.so.11" not found, required by "telnet"
 
What does ls -al /usr/lib/libkrb5* show?

Code:
dice@williscorto:~ % freebsd-version -uk
12.2-RELEASE
12.2-RELEASE
dice@williscorto:~ % ls -al /usr/lib/libkrb5*
-r--r--r--  1 root  wheel  5660274 Oct 12 20:47 /usr/lib/libkrb5.a
lrwxr-xr-x  1 root  wheel       13 Nov  8 16:30 /usr/lib/libkrb5.so -> libkrb5.so.11
-r--r--r--  1 root  wheel   519168 Nov  8 16:30 /usr/lib/libkrb5.so.11
-r--r--r--  1 root  wheel  5757774 Oct 12 20:47 /usr/lib/libkrb5_p.a
 

root@betsy:/usr/ports # ls -al /usr/lib/libkrb5*
/bin/ls: No match.

Just guessing: this machine was built from sources with
Code:
WITHOUT_KERBEROS=YES
in my src.conf(). So I think that freebsd-update() did not find the Kerberos library and did not install them.

If that is true, my only way to go is the make buildworld way. But building the world fails on my two 12.2-RELEASE systems.
 
So I think that freebsd-update() did not find the Kerberos library and did not install them.
That sounds very reasonable. I recently converted a 12-STABLE machine to 12.2-RELEASE so I could update it more easily. But I have always built a 'full' world, I never excluded anything.
 
I rarely use freebsd-update, I'm used to build all from src. If you have problems it's maybe worth purging the whole directory and let the svn fetch all again.
But as freebsd-update(8) page says:
Code:
Note that updates are only available
     if they are being built for the FreeBSD release and architecture being
     used; in particular, the FreeBSD Security Team only builds updates for
     releases shipped in binary form by the FreeBSD Release Engineering Team,
From this I think you should really not mix-n-match src/bin updates.
 
From this I think you should really not mix-n-match src/bin updates.
Definitely. But we're not really mixing here. The OP is trying to update a system in such a way he can use freebsd-update(8) from that point onward. I've done something similar many times before and it's not problem. But the process does require a "full" world build, without excluding any parts (src.conf(5)). Not being able to buildworld due to errors doesn't help getting there ;)

As you say, I also think getting a fresh checkout of /usr/src/ might be in order here. As the system is now, at least partially, at 12.2-RELEASE I would suggest fetching base/releng/12.2 and do a full world build and install. When that is successful the machine can be kept up to date with freebsd-update(8).
 
Back
Top