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
>>
>>
>>
> 
> 


-- 
===
Mark Millard
marklmi at yahoo.com

Reply via email to