Re: ar: error: libclang.a: 'ParseDecl.o': section header table goes past EOF [So far: unable to reproduce, even based on llvm19 involvement]

Mark Millard <[email protected]> Wed, 13 May 2026 10:34:34 -0700
Newsgroups gmane.os.freebsd.devel.arm
Message-ID <[email protected]>
On 5/13/26 09:48, bob prohaska wrote:
> Hi Mark,
> 
> On Sat, May 09, 2026 at 08:56:32PM -0700, Mark Millard wrote:
>> On 5/9/26 18:41, bob prohaska wrote:
>>> . . .
>>>
>>> It looks as if running make kernel-toolchain somehow worked around
>>> the failure. It completed successfully and is now running a normal
>>> buildworld, which is in the building libraries stage. 
>>
>> Good.
>>
>> What was the context like just before you ran kernel-toolchain? Had you
>> cleaned everything out to start over? Or was the old bad file and
>> related materials still in place? Was this jsut after doing another
>> source update?
>>
>> When you did the kernel-toolchain was it -j1 (or no -j at all) style?
>> Some other -jN ? How did that compare to prior build attempts that failed?
>>
>> Does the Parse/ParseDecl.o file look appropriately sized now? (My guess
>> is: yes.)
>>
>>>
>>> Hopefully it'll finish within a day or two.
>>>
>>> Thanks for writing, apologies if I jumped the gun!
>>
>> You have no reason to be waiting for me.
> 
> Perhaps not, but you put some thought into a reply
> that couldn't be acted on. I'm grateful for those
> thoughts! 
> 
> After make buildworld completed successfully a 
> subsequent git pull found a significant number of
> updates, so make buildworld is running again to 
> catch up.
> 
> One lingering puzzle is whether it's prudent to
> run make installworld

I presume buildworld is also being referenced here.

> following a git pull that
> finds updates which appear inconsequential, for
> example man pages, tests or unused features like
> zfs or tests. Doing so saves quite some time on 
> a Pi2. Does it introduce hazardous inconsistencies?

An option is to use git fetch and then decide if to merge --ff-only vs.
not separately based on what the fetch reports, instead of always doing
both in sequence (via git pull). That way the "not" case leaves your
/usr/src/ checkout alone. But the merge is all or nothing if, say, only
the kernel has updates of interest as indicted by investigating the
fetch output. But doing that investigation might not be something you
would want to do based on what is output for a fetch: in involves
looking up the range of commits separately and reading about them.

(Ignoring the above . . .)

The below ignores when you are testing patches for problems that you
have run into and someone has you running either information
investigative runs or bug fix tests. In such contexts of having a
problem, you should get your /usr/src/ source code and live system to be
correctly matched, likely by switching to an older commit that matches
what you are running (that you would need to know the hash for):
detached HEAD. Later you would go back to HEAD on the branch before
doing other git activities that update.

So far as I know, you do not use the source tree in any way other than
for building/installing. For example, you usually do not look at the
code to analyze it for issues that you see on the systems --as far as I
know.

main can be subject to a newer kernel and a somewhat older world not
being matched over a specific range of commits. (Development got
something wrong in the relationship that had to be fixed.) It is not
common. The goal is for newer main kernels to allow running older main
worlds going some notable distance back.

But the source tree does not even have to exist on the system for system
operation that does not involve source-fetching/merging or builds/installs.

It should normally be okay to make kernel-toolchain; make buildkernel;
make installkernel and reboot and to not update the world when the
kernel update is of interest but the world is not. Although, a kernel
update could have something new that a new world would put to use in how
it works. So sometimes you might want both just for that.

Overall: yes, you could avoid buildworld and the later installworld in
various cases.

> 
> Thanks for writing!
> 
> bob prohaska
> 
> 
> 


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