Waf + gccdeps on Mingw64/MSYS2?

Sebastian Huber sebastian.huber at embedded-brains.de
Tue Dec 3 06:03:36 UTC 2019



On 03/12/2019 03:50, Chris Johns wrote:
> On 2/12/19 5:27 pm, Sebastian Huber wrote:
>> On 02/12/2019 01:24, Chris Johns wrote:
>>> On 2/12/19 11:10 am, Chris Johns wrote:
>>>> On 28/11/19 5:55 pm, Sebastian Huber wrote:
>>> I updated MSYS2 to the latest and this error did not appear however I am now
>>> seeing ...
>>>
>>> [1867/4038] Processing testsuites/libtests/tar01/init.o:
>>> testsuites/libtests/tar01/init.c
>>> build/sparc/erc32/testsuites/libtests/tar01/tar01-tar.h
>>> build/sparc/erc32/testsuites/libtests/tar01/tar01-tar-gz.h
>>> build/sparc/erc32/testsuites/libtests/tar01/tar01-tar-xz.h ->
>>> build/sparc/erc32/testsuites/libtests/tar01/init.o
>>> In file included from
>>> D:/opt/rtems/rtems.seb/testsuites/libtests/tar01/init.c:26:0:
>>> testsuites/libtests/tar01/tar01-tar.h:7:12: warning: extra tokens at end of
>>> #ifndef directive
>>>    #ifndef
>>> __D:_opt_rtems_rtems_seb_build_sparc_erc32_testsuites_libtests_tar01_tar01_tar_h
>>>               ^
>>> testsuites/libtests/tar01/tar01-tar.h:8:12: warning: ISO C99 requires whitespace
>>> after the macro name
>>>    #define
>>> __D:_opt_rtems_rtems_seb_build_sparc_erc32_testsuites_libtests_tar01_tar01_tar_h
>>>               ^
>>> In file included from
>>> D:/opt/rtems/rtems.seb/testsuites/libtests/tar01/init.c:27:0:
>>> testsuites/libtests/tar01/tar01-tar-gz.h:7:12: warning: extra tokens at end of
>>> #ifndef directive
>>>    #ifndef
>>> __D:_opt_rtems_rtems_seb_build_sparc_erc32_testsuites_libtests_tar01_tar01_tar_gz_h
>>>
>>>               ^
>>> D:/opt/rtems/rtems.seb/testsuites/libtests/tar01/init.c: In function
>>> 'test_untar_unzip_tgz':
>>> D:/opt/rtems/rtems.seb/testsuites/libtests/tar01/init.c:44:26: error:
>>> 'tar01_tar_gz' undeclared (first use in this function); did you mean
>>> 'tar01_tar_size'?
>>>    #define TARFILE_GZ_START tar01_tar_gz
>>>                             ^
>>> D:/opt/rtems/rtems.seb/testsuites/libtests/tar01/init.c:198:26: note: in
>>> expansion of macro 'TARFILE_GZ_START'
>>>      char *buffer = (char *)TARFILE_GZ_START;
>>>                             ^~~~~~~~~~~~~~~~
>>> D:/opt/rtems/rtems.seb/testsuites/libtests/tar01/init.c:44:26: note: each
>>> undeclared identifier is reported only once for each function it appears in
>>>    #define TARFILE_GZ_START tar01_tar_gz
>>>                             ^
>>> D:/opt/rtems/rtems.seb/testsuites/libtests/tar01/init.c:198:26: note: in
>>> expansion of macro 'TARFILE_GZ_START'
>>>      char *buffer = (char *)TARFILE_GZ_START;
>>>                             ^~~~~~~~~~~~~~~~
>>> D:/opt/rtems/rtems.seb/testsuites/libtests/tar01/init.c:45:26: error:
>>> 'tar01_tar_gz_size' undeclared (first use in this function); did you mean
>>> 'tar01_tar_size'?
>>>    #define TARFILE_GZ_SIZE  tar01_tar_gz_size
>>>                             ^
>>> D:/opt/rtems/rtems.seb/testsuites/libtests/tar01/init.c:199:19: note: in
>>> expansion of macro 'TARFILE_GZ_SIZE'
>>>      size_t buflen = TARFILE_GZ_SIZE;
>>>                      ^~~~~~~~~~~~~~~
>>
>> I think this revealed two issues.
>>
>> 1. The file name sanitation in bin2c was not really good. I fixed it like this:
>>
>> https://git.rtems.org/rtems-tools/commit/?id=83b8f1f2a5838a5d56e15c70d44348e3e393e3f7
> 
> I cannot test this at the moment because I cannot build the sparc tools after
> the updates. Something about an unresolved external in string.h in gdb and I
> have not tracked it down.

I do currently a MinGW64/MSYS2 installation from scratch. For the first 
tests I used an existing installation. I think it makes a difference if 
you build the rtems-tools with the MSYS2 GCC or the MinGW64 GCC. For 
example, I didn't observe the bin2c issue in my tests.

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber at embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.


More information about the devel mailing list