MSYS2 build: header file missing

Robin Müller robin.mueller.m at gmail.com
Fri Dec 18 13:10:10 UTC 2020


In case you're interested, this is the fail report for the SIS Cxc build on
Linux (failed both for i686 and x86_64).

I think it fails because _WIN32_WINNT (windows version) is not defined,
causing winsock2.h to exclude requires sections.

Build command was:
 ../source-builder/sb-set-builder
--prefix=/c/Users/Robin/RTEMS/rtems-tools/rtems/6 --no-install
--bset-tar-file --host=i686-w64-mingw32 6/rtems-sparc

Kind Regards
Robin

On Fri, 18 Dec 2020 at 12:49, Robin Müller <robin.mueller.m at gmail.com>
wrote:

> If I understand correctly, the BSPs can be installed with waf only if the
> tool suite for the given architecture has been installed.
> Problem is, the RSB build will fail even if a tiny component is
> problematic.
> I thought the tool suite itself is installed using the build commands
> required by the sources (make, automake, etc).
> Is it possible to also build these sources with waf?
>
> I have tried this cross compiling on linux for windows (I used x86_64
> instead of i686) because everything was working on Linux, but there are
> issues with the SIS tool for sparc-rtems6..
> But SIS is now also problematic on the Windows machine where I almost
> managed to build everything.
>
> Everything except SIS was built by the RSB and I copied the installed
> files manually to install them and tried to build a BSP (is there actually
> some script like do-install which will perform this step?)
> But now some RTEMS tool is missing (rtems-bin2c):
>
> $ ./waf configure --prefix=$RTEMS_TOOLS --rtems-bsp=sparc/erc32
> Setting top to                           :
> C:/Users/Robin/Documents/RTEMS/rtems-tools/src/rtems
> Setting out to                           :
> C:/Users/Robin/Documents/RTEMS/rtems-tools/src/rtems/build
> Configure board support package (BSP)    : sparc/erc32
> Checking for program 'sparc-rtems6-gcc'  :
> C:/Users/Robin/Documents/RTEMS/rtems-tools/rtems/6/bin/sparc-rtems6-gcc.exe
> Checking for program 'sparc-rtems6-g++'  :
> C:/Users/Robin/Documents/RTEMS/rtems-tools/rtems/6/bin/sparc-rtems6-g++.exe
> Checking for program 'sparc-rtems6-ar'   :
> C:/Users/Robin/Documents/RTEMS/rtems-tools/rtems/6/bin/sparc-rtems6-ar.exe
> Checking for program 'sparc-rtems6-ld'   :
> C:/Users/Robin/Documents/RTEMS/rtems-tools/rtems/6/bin/sparc-rtems6-ld.exe
> Checking for program 'ar'                :
> C:/Users/Robin/Documents/RTEMS/rtems-tools/rtems/6/bin/sparc-rtems6-ar.exe
> Checking for program 'g++, c++'          :
> C:/Users/Robin/Documents/RTEMS/rtems-tools/rtems/6/bin/sparc-rtems6-g++.exe
> Checking for program 'ar'                :
> C:/Users/Robin/Documents/RTEMS/rtems-tools/rtems/6/bin/sparc-rtems6-ar.exe
> Checking for program 'gas, gcc'          :
> C:/Users/Robin/Documents/RTEMS/rtems-tools/rtems/6/bin/sparc-rtems6-gcc.exe
> Checking for program 'ar'                :
> C:/Users/Robin/Documents/RTEMS/rtems-tools/rtems/6/bin/sparc-rtems6-ar.exe
> Checking for program 'gcc, cc'           :
> C:/Users/Robin/Documents/RTEMS/rtems-tools/rtems/6/bin/sparc-rtems6-gcc.exe
> Checking for program 'ar'                :
> C:/Users/Robin/Documents/RTEMS/rtems-tools/rtems/6/bin/sparc-rtems6-ar.exe
> Checking for program 'rtems-bin2c'       : not found
> Could not find the program ['rtems-bin2c']
> (complete log in
> C:/Users/Robin/Documents/RTEMS/rtems-tools/src/rtems/build/config.log)
>
> In general the build process on Windows seems to be more "brittle" than on
> Linux, so maybe installers would be a good idea? I generally installed
> cross-compilers (e.g. arm-none-eabi-gcc) on Windows
> using installers (for example https://xpack.github.io/arm-none-eabi-gcc/)
> and have made very good experience with that.
>
> Kind Regards
> Robin
>
> On Fri, 18 Dec 2020 at 12:24, Sebastian Huber <
> sebastian.huber at embedded-brains.de> wrote:
>
>> On 18/12/2020 11:35, Chris Johns wrote:
>>
>> >> Since all parts of RTEMS build now with waf I think it is possible to
>> build RTEMS applications on Windows without having to install MSYS2/MinGW.
>> It should work with only a Python installation, but I haven't tested this
>> yet.
>> > This maybe true In theory but I have not been able to achieve it.
>> What was the missing piece?
>>
>> --
>> embedded brains GmbH
>> Herr Sebastian HUBER
>> Dornierstr. 4
>> 82178 Puchheim
>> Germany
>> email: sebastian.huber at embedded-brains.de
>> phone: +49-89-18 94 741 - 16
>> fax:   +49-89-18 94 741 - 08
>>
>> Registergericht: Amtsgericht München
>> Registernummer: HRB 157899
>> Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
>> Unsere Datenschutzerklärung finden Sie hier:
>> https://embedded-brains.de/datenschutzerklaerung/
>>
>> _______________________________________________
>> devel mailing list
>> devel at rtems.org
>> http://lists.rtems.org/mailman/listinfo/devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20201218/b2b2e87f/attachment.html>
-------------- next part --------------
i686-w64-mingw32-gcc -DHAVE_CONFIG_H -I.    -DFAST_UART -O2 -g -pipe -I/home/rmueller/Documents/RTEMS/rtems-tools/src/rsb/rtems/build/tmp/sb-1000/6/rtems-sparc/c/Users/Robin/RTEMS/rtems-tools/rtems/6/include  -MT func.o -MD -MP -MF .deps/func.Tpo -c -o func.o func.c
i686-w64-mingw32-gcc -DHAVE_CONFIG_H -I.    -DFAST_UART -O2 -g -pipe -I/home/rmueller/Documents/RTEMS/rtems-tools/src/rsb/rtems/build/tmp/sb-1000/6/rtems-sparc/c/Users/Robin/RTEMS/rtems-tools/rtems/6/include  -MT help.o -MD -MP -MF .deps/help.Tpo -c -o help.o help.c
i686-w64-mingw32-gcc -DHAVE_CONFIG_H -I.    -DFAST_UART -O2 -g -pipe -I/home/rmueller/Documents/RTEMS/rtems-tools/src/rsb/rtems/build/tmp/sb-1000/6/rtems-sparc/c/Users/Robin/RTEMS/rtems-tools/rtems/6/include  -MT sparc.o -MD -MP -MF .deps/sparc.Tpo -c -o sparc.o sparc.c
i686-w64-mingw32-gcc -DHAVE_CONFIG_H -I.    -DFAST_UART -O2 -g -pipe -I/home/rmueller/Documents/RTEMS/rtems-tools/src/rsb/rtems/build/tmp/sb-1000/6/rtems-sparc/c/Users/Robin/RTEMS/rtems-tools/rtems/6/include  -MT riscv.o -MD -MP -MF .deps/riscv.Tpo -c -o riscv.o riscv.c
mv -f .deps/help.Tpo .deps/help.Po
i686-w64-mingw32-gcc -DHAVE_CONFIG_H -I.    -DFAST_UART -O2 -g -pipe -I/home/rmueller/Documents/RTEMS/rtems-tools/src/rsb/rtems/build/tmp/sb-1000/6/rtems-sparc/c/Users/Robin/RTEMS/rtems-tools/rtems/6/include  -MT leon2.o -MD -MP -MF .deps/leon2.Tpo -c -o leon2.o leon2.c
mv -f .deps/exec.Tpo .deps/exec.Po
mv -f .deps/leon3.Tpo .deps/leon3.Po
i686-w64-mingw32-gcc -DHAVE_CONFIG_H -I.    -DFAST_UART -O2 -g -pipe -I/home/rmueller/Documents/RTEMS/rtems-tools/src/rsb/rtems/build/tmp/sb-1000/6/rtems-sparc/c/Users/Robin/RTEMS/rtems-tools/rtems/6/include  -MT sis.o -MD -MP -MF .deps/sis.Tpo -c -o sis.o sis.c
i686-w64-mingw32-gcc -DHAVE_CONFIG_H -I.    -DFAST_UART -O2 -g -pipe -I/home/rmueller/Documents/RTEMS/rtems-tools/src/rsb/rtems/build/tmp/sb-1000/6/rtems-sparc/c/Users/Robin/RTEMS/rtems-tools/rtems/6/include  -MT interf.o -MD -MP -MF .deps/interf.Tpo -c -o interf.o interf.c
mv -f .deps/leon2.Tpo .deps/leon2.Po
i686-w64-mingw32-gcc -DHAVE_CONFIG_H -I.    -DFAST_UART -O2 -g -pipe -I/home/rmueller/Documents/RTEMS/rtems-tools/src/rsb/rtems/build/tmp/sb-1000/6/rtems-sparc/c/Users/Robin/RTEMS/rtems-tools/rtems/6/include  -MT remote.o -MD -MP -MF .deps/remote.Tpo -c -o remote.o remote.c
mv -f .deps/interf.Tpo .deps/interf.Po
i686-w64-mingw32-gcc -DHAVE_CONFIG_H -I.    -DFAST_UART -O2 -g -pipe -I/home/rmueller/Documents/RTEMS/rtems-tools/src/rsb/rtems/build/tmp/sb-1000/6/rtems-sparc/c/Users/Robin/RTEMS/rtems-tools/rtems/6/include  -MT elf.o -MD -MP -MF .deps/elf.Tpo -c -o elf.o elf.c
mv -f .deps/sis.Tpo .deps/sis.Po
i686-w64-mingw32-gcc -DHAVE_CONFIG_H -I.    -DFAST_UART -O2 -g -pipe -I/home/rmueller/Documents/RTEMS/rtems-tools/src/rsb/rtems/build/tmp/sb-1000/6/rtems-sparc/c/Users/Robin/RTEMS/rtems-tools/rtems/6/include  -MT greth.o -MD -MP -MF .deps/greth.Tpo -c -o greth.o greth.c
greth.c:31:10: fatal error: arpa/inet.h: No such file or directory
   31 | #include <arpa/inet.h>
      |          ^~~~~~~~~~~~~
compilation terminated.
make[1]: *** [Makefile:399: greth.o] Error 1
make[1]: *** Waiting for unfinished jobs....
mv -f .deps/grlib.Tpo .deps/grlib.Po
mv -f .deps/erc32.Tpo .deps/erc32.Po
mv -f .deps/riscv.Tpo .deps/riscv.Po
remote.c: In function 'socket_poll':
remote.c:127:3: error: unknown type name 'WSAPOLLFD'
  127 |   WSAPOLLFD fdarray = { 0 };
      |   ^~~~~~~~~
remote.c:130:10: error: request for member 'fd' in something not a structure or union
  130 |   fdarray.fd = new_socket;
      |          ^
remote.c:131:10: error: request for member 'events' in something not a structure or union
  131 |   fdarray.events = POLLRDNORM;
      |          ^
remote.c:131:20: error: 'POLLRDNORM' undeclared (first use in this function)
  131 |   fdarray.events = POLLRDNORM;
      |                    ^~~~~~~~~~
remote.c:131:20: note: each undeclared identifier is reported only once for each function it appears in
remote.c:132:9: warning: implicit declaration of function 'WSAPoll' [-Wimplicit-function-declaration]
  132 |   ret = WSAPoll (&fdarray, 1, 0);
      |         ^~~~~~~
make[1]: *** [Makefile:399: remote.o] Error 1
mv -f .deps/sparc.Tpo .deps/sparc.Po
mv -f .deps/func.Tpo .deps/func.Po
mv -f .deps/elf.Tpo .deps/elf.Po
make[1]: Leaving directory '/home/rmueller/Documents/RTEMS/rtems-tools/src/rsb/rtems/build/sis-2.25-i686-w64-mingw32-1/sis-2.25'
make: *** [Makefile:277: all] Error 2
shell cmd failed: /bin/sh -ex  /home/rmueller/Documents/RTEMS/rtems-tools/src/rsb/rtems/build/sis-2.25-i686-w64-mingw32-1/do-build
error: building sis-2.25-i686-w64-mingw32-1


More information about the devel mailing list