Re: krb5 port fails to build in newly upgraded jails 14.4

Kaya Saman <[email protected]> Tue, 7 Jul 2026 21:24:31 +0100
Newsgroups gmane.os.freebsd.devel.ports
Message-ID <[email protected]>
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...