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

Reply via email to