error: unknown type name ‘ctf_archive_t

Alan Modra amodra@gmail.com
Tue Jun 2 00:30:29 GMT 2020


On Mon, Jun 01, 2020 at 05:36:54PM -0600, Martin Sebor via Binutils wrote:
> I've been getting the error below building binutils the last few
> weeks:
> 
> In file included from /src/binutils-gdb/ld/ldlex.l:31,
>                  from /src/binutils-gdb/ld/ldlex-wrapper.c:26:
> /src/binutils-gdb/ld/ldlang.h:304:3: error: unknown type name
> ‘ctf_archive_t’
>   304 |   ctf_archive_t *the_ctf;
>       |   ^~~~~~~~~~~~~
> 
> A discussion of it I found in bug 25064 suggests it's caused by
> an outdated copy of the generated ld/ldlex.c file in the source
> tree.  The build succeeds after I remove the file but I'd like
> to know what other files I should remove (or more broadly, what
> else I should do when re-building from a local copy) to make
> sure I build what everyone else does. (I assume removing the whole
> source tree and pulling a fresh copy is not the right way to do it.)

I'm curious.  What output from "make" do you see if you touch ldlex.l
and then run make?  ldlex.c ought to be regenerated via a .l.c rule,
even without --enable-maintainer-mode during configure.

I get the following.
make[4]: Entering directory '/home/alan/build/gas/all/ld'
/bin/bash /home/alan/src/binutils-gdb/ld/../ylwrap /home/alan/src/binutils-gdb/ld/ldlex.l lex.yy.c /home/alan/src/binutils-gdb/ld/ldlex.c -- flex  

-- 
Alan Modra
Australia Development Lab, IBM


More information about the Binutils mailing list