Cygwin tools failure

Chris Johns chrisj at rtems.org
Wed Oct 12 04:24:58 UTC 2022


On 12/10/2022 2:30 pm, Joel Sherrill wrote:
> 
> 
> On Tue, Oct 11, 2022 at 8:36 PM Ryan Long <ryan.long at oarcorp.com
> <mailto:ryan.long at oarcorp.com>> wrote:
> 
>     Cygwin has been unable to build the tools for awhile. This has been due
>     to an array subscript being a char while building DTC. The maintainers
>     didn't see an issue with the code itself, so it's going to go on being
>     broken for awhile I guess.
> 
>     Joel recommended commented out the building of DTC through the RSB.
>     After doing so, I'm running into the following error. I was building
>     AArch64's tools. Disabling DTC and building with my Debian WSL instance
>     built it just fine.
> 
> 
>     [ 48/258] Compiling rtemstoolkit/elftoolchain/libelf/libelf_align.c
>     ../rtemstoolkit/elftoolchain/libelf/elf.c:34:35: error: ‘LIBELF_ARCH’
>     undeclared here (not in a function); did you mean ‘LIBELF_ERROR’?
>         34 |         .libelf_arch            = LIBELF_ARCH,
>            |                                   ^~~~~~~~~~~
>            |                                   LIBELF_ERROR
>     ../rtemstoolkit/elftoolchain/libelf/elf.c:35:35: error:
>     ‘LIBELF_BYTEORDER’ undeclared here (not in a function); did you mean
>     ‘LIBELF_ERROR’?
>         35 |         .libelf_byteorder       = LIBELF_BYTEORDER,
>            |                                   ^~~~~~~~~~~~~~~~
>            |                                   LIBELF_ERROR
>     ../rtemstoolkit/elftoolchain/libelf/elf.c:36:35: error: ‘LIBELF_CLASS’
>     undeclared here (not in a function)
>         36 |         .libelf_class           = LIBELF_CLASS,
>            |                                   ^~~~~~~~~~~~
> 
>     Waf: Leaving directory
>     `/home/rtems-tester/rtems-cron-6/rtems-source-builder/rtems/build/rtems-tools-d0a65c72d1a170637258eb19f7d3e433be7c3c86-1/rtems-tools-d0a65c72d1a170637258eb19f7d3e433be7c3c86/build'
> 
> 
>     Does anyone know a fix for this?
> 
> 
> rtemstoolkit/elftoolchain/libelf/_libelf_config.h has ifdef's for various host
> operating
> systems and does not have one for Cygwin or MSYS. But it can't know the native ELF
> details because the native format is not ELF:
> 
> $ file /bin/cat.exe
> /bin/cat.exe: PE32+ executable (console) x86-64, for MS Windows
> 
> I'm not sure what to do about this. My first thought would be to add 
> Cygwin to the list like FreeBSD and see if that defines what you need.
> or find the x86_64 Linux settings and use those for Cygwin to let it
> compile.
> 
> I'm not sure why we need to know the native ELF details.

The tools use to build on Ming64...

https://git.rtems.org/rtems-tools/tree/rtemstoolkit/elftoolchain/libelf/_libelf_config.h?h=5#n191

This patch broke the support...

https://git.rtems.org/rtems-tools/commit/rtemstoolkit/elftoolchain/libelf/_libelf_config.h?id=ff68bccc25386c84d893187af36e4bac88db4b10

Consider a patch to add the piece removed at the end of this patch as approved.

Chris


More information about the devel mailing list