On 7/7/26 13:24, Kaya Saman wrote: > > 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...
It is executed from a source tree that matches the modern system involved. DESTDIR should be pointed to the top of the system/jail/chroot directory tree that is to have any old libraries found deleted. So it sounds like you need to establish a /usr/src/ with the source for the version of the system that you are cleaning up: 14.4-RELEASE-p7 As stands that is the releng/14.7 branch in git (presuming no more patching is started any time soon). The release/14.4.0-p7 tag can be used as a more stable reference. > > > -- === Mark Millard marklmi at yahoo.com
