On 7/7/26 9:00 PM, Mark Millard wrote:
On 7/7/26 12:34, Mark Millard wrote:
On 7/7/26 12:09, Kaya Saman wrote:
On 7/7/26 7:39 PM, Mark Millard wrote:
On 7/7/26 10:53, Kaya Saman wrote:
On 7/7/26 6:48 PM, Janky Jay, III wrote:
Hello,
On 7/7/26 11:28AM, Kaya Saman wrote:
Ah something seems to be hanging in the jail upgrade?
src component not installed, skipped
You have a partially completed upgrade pending
If you're having issues with upgrading jails using freebsd-update,
might I suggest maybe just switching to pkgbase and being done with
all that old headache?
There's a pretty good write-up on jail updating/upgrading from 14.x to
15.x here, if you're interested. Would likely save you a bunch of time
as well if there are many jails:
https://forums.freebsd.org/threads/jail-upgrade-from-14-3-release-
to-15-0-release-with-pkgbase.101467/
Regards,
Janky Jay, III
Thanks!
So far I think the jail has upgraded properly? I ran a freebsd-update -j
<name> -F fetch install
it's got the jail up to 14.4-p7 which is great
I still can't build krb5 as it's looking for the same libraries which
just don't exist.
That means that you have other files around that are in use and contain
references to the paths that start with /usr/src/gnu/lib/libdialog/
(and, possibly, more old paths). It might be old code compiled/linked
long ago that recorded the source code paths.
Your original message report indicated the following as containing such
references:
display.o:(rl_redisplay) in archive /usr/lib/libreadline.a
terminal.o:(_rl_backspace) in archive /usr/lib/libreadline.a
and those same .o file copies in the same .a file for other routines:
_rl_get_screen_size
_rl_init_terminal_io
update_line
I'll note that none of my fairly modern jail/chroot/boot systems has a
/usr/lib/libreadline.a : it is another example of a file long gone (no
longer produced from source that is also long gone).
As I indicated earlier, you seem to need to do a very general cleanout
of out of date materials that go back as far as 11.* (and possibly
farther).
Depending on what you know vs. do not know for making old vs. modern
distinctions, that might involve simply starting over from scratch based
on modern installation techniques.
I'm not sure where to begin debugging that?
Remove all ports and reinstall but I think result will be same?
Hi Mark,
you're a legend!
I had a look within /usr/lib and sure there were 3x libreadline* files
in there.
Now I don't know if this is a permanent solution and if all old
libraries etc... have gone *but a very nice rm /usr/lib/libreadline*
followed by building the ports worked.
I remember there was an IDS approach to cross-compare old vs new files
and what's changed. I'm not sure if that still applies....
Some of these jails might have been built during the 8.x era lol and
using the source "make buildworld DESTDIR=D" in /usr/src
Anyway, it's a fix for now :-)
I should note that trying to use 14.4's:
make delete-old-libs DESTDIR=. . .
depends on if ObsoleteFiles.inc still contains:
# 20140705: turn libreadline into an internal lib
OLD_LIBS+=lib/libreadline.so.8
OLD_FILES+=usr/lib/libreadline.a
. . .
Looking . . . 14.4 does. 15.0 does not.
That suggests that you may want to try make delete-old-libs DESTDIR=...
But you may end up finding that other things are dependent on what
should no longer exist and you may then end up having to reconstruct
things based on the somewhat cleaned out context that resulted.
By the way, there are also:
make check-old-libs DESTDIR=. . .
for learning ahead of time what would be involved in the delete sequence.
There is also a command for listing what is considered for the checking,
including what is not found to exist by the check-old-libs command:
make list-old-libs DESTDIR=. . .
Based on the above, the identified old content goes back to 2014: over a
decade.
Regards,
Kaya
Many thanks.... I really appreciate this!
where do I run the make command from?
Is it from /usr/src? because I cleaned that out...