build issue Windows 10 64 bit machine

86 views
Skip to first unread message

Adhvik

unread,
Aug 6, 2020, 8:02:04 AM8/6/20
to EIP Stack Group OpENer users
Hi All,

I'm a new to Ethernet/IP, I started compilation in Windows 10 64 bit machine. I setup MinGW compiler in my machine and started with build. I stuck at creating MINGWPLATFORM library compilation and hit with error, details are below and attached a complete log for your reference.

Scanning dependencies of target MINGWPLATFORM
[ 72%] Building C object src/ports/MINGW/CMakeFiles/MINGWPLATFORM.dir/networkhandler.c.obj
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkhandler.c: In function 'ShutdownSocketPlatform':
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkhandler.c:41:2: warning: #warning "Untested. Is a shutdown() needed under Windows like for the POSIX port?" [-Wcpp]
 #warning \
  ^~~~~~~
[ 74%] Building C object src/ports/MINGW/CMakeFiles/MINGWPLATFORM.dir/opener_error.c.obj
[ 76%] Building C object src/ports/MINGW/CMakeFiles/MINGWPLATFORM.dir/networkconfig.c.obj
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:84:61: error: unknown type name 'PNET_IFINDEX'
 static DWORD ConvertToIndexFromFakeAlias(const char *iface, PNET_IFINDEX iface_idx)
                                                             ^~~~~~~~~~~~
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:125:65: error: unknown type name 'PNET_IFINDEX'
 static EipStatus DetermineIfaceIndexByString(const char *iface, PNET_IFINDEX iface_idx)
                                                                 ^~~~~~~~~~~~
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c: In function 'RetrieveAdapterAddressesTable':
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:170:9: error: 'ERROR_BUFFER_OVERFLOW' undeclared (first use in this function)
     if (ERROR_BUFFER_OVERFLOW == ret_val) {
         ^~~~~~~~~~~~~~~~~~~~~
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:170:9: note: each undeclared identifier is reported only once for each function it appears in
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:176:7: error: 'NO_ERROR' undeclared (first use in this function)
   if (NO_ERROR != ret_val || NULL == p_addr_table) {
       ^~~~~~~~
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c: In function 'WideToCipString':
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:216:12: error: 'ERROR_NO_UNICODE_TRANSLATION' undeclared (first use in this function)
     return ERROR_NO_UNICODE_TRANSLATION;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:219:12: error: 'ERROR_BUFFER_OVERFLOW' undeclared (first use in this function)
     return ERROR_BUFFER_OVERFLOW;
            ^~~~~~~~~~~~~~~~~~~~~
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:229:14: error: 'ERROR_OUTOFMEMORY' undeclared (first use in this function)
       return ERROR_OUTOFMEMORY;
              ^~~~~~~~~~~~~~~~~
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:244:10: error: 'ERROR_SUCCESS' undeclared (first use in this function)
   return ERROR_SUCCESS;
          ^~~~~~~~~~~~~
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c: In function 'IfaceGetMacAddress':
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:264:22: warning: implicit declaration of function 'DetermineIfaceIndexByString' [-Wimplicit-function-declaration]
   if(kEipStatusOk != DetermineIfaceIndexByString(iface, &iface_idx)) {
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:287:9: warning: implicit declaration of function 'memcpy_s' [-Wimplicit-function-declaration]
         memcpy_s(physical_address, 6,
         ^~~~~~~~
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c: In function 'IfaceGetConfiguration':
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:311:23: error: 'GAA_FLAG_INCLUDE_GATEWAYS' undeclared (first use in this function)
                       GAA_FLAG_INCLUDE_GATEWAYS | GAA_FLAG_INCLUDE_PREFIX;
                       ^~~~~~~~~~~~~~~~~~~~~~~~~
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:344:9: error: unknown type name 'PIP_ADAPTER_GATEWAY_ADDRESS'
         PIP_ADAPTER_GATEWAY_ADDRESS pGateway = p_addr_entry->FirstGatewayAddress;
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:344:60: error: 'struct _IP_ADAPTER_ADDRESSES' has no member named 'FirstGatewayAddress'; did you mean 'FirstUnicastAddress'?
         PIP_ADAPTER_GATEWAY_ADDRESS pGateway = p_addr_entry->FirstGatewayAddress;
                                                            ^~
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:345:18: warning: comparison between pointer and integer
         if (NULL != pGateway) {
                  ^~
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:346:63: error: invalid type argument of '->' (have 'int')
           local_cfg.gateway = GetIpFromSocketAddress(&pGateway->Address);
                                                               ^~
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:361:11: error: 'NO_ERROR' undeclared (first use in this function)
       if (NO_ERROR != ret_val) {
           ^~~~~~~~
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c: In function 'IfaceWaitForIp':
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:408:13: error: 'ERROR_INSUFFICIENT_BUFFER' undeclared (first use in this function)
         if (ERROR_INSUFFICIENT_BUFFER == dw_ret) {
             ^~~~~~~~~~~~~~~~~~~~~~~~~
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:420:11: error: 'NO_ERROR' undeclared (first use in this function)
       if (NO_ERROR != dw_ret) {
           ^~~~~~~~
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:432:22: error: 'MIB_IPADDR_DELETED' undeclared (first use in this function)
                     (MIB_IPADDR_DELETED | MIB_IPADDR_DISCONNECTED | MIB_IPADDR_TRANSIENT))) {
                      ^~~~~~~~~~~~~~~~~~
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:432:43: error: 'MIB_IPADDR_DISCONNECTED' undeclared (first use in this function)
                     (MIB_IPADDR_DELETED | MIB_IPADDR_DISCONNECTED | MIB_IPADDR_TRANSIENT))) {
                                           ^~~~~~~~~~~~~~~~~~~~~~~
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:432:69: error: 'MIB_IPADDR_TRANSIENT' undeclared (first use in this function)
                     (MIB_IPADDR_DELETED | MIB_IPADDR_DISCONNECTED | MIB_IPADDR_TRANSIENT))) {
                                                                     ^~~~~~~~~~~~~~~~~~~~
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c: In function 'WideToCipString':
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:245:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
At top level:
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:52:14: warning: 'StrToIfaceIdx' defined but not used [-Wunused-function]
 static ULONG StrToIfaceIdx(const char *iface)
              ^~~~~~~~~~~~~
src\ports\MINGW\CMakeFiles\MINGWPLATFORM.dir\build.make:112: recipe for target 'src/ports/MINGW/CMakeFiles/MINGWPLATFORM.dir/networkconfig.c.obj' failed
make[2]: *** [src/ports/MINGW/CMakeFiles/MINGWPLATFORM.dir/networkconfig.c.obj] Error 1
CMakeFiles\Makefile2:338: recipe for target 'src/ports/MINGW/CMakeFiles/MINGWPLATFORM.dir/all' failed
make[1]: *** [src/ports/MINGW/CMakeFiles/MINGWPLATFORM.dir/all] Error 2
Makefile:82: recipe for target 'all' failed
make: *** [all] Error 2

Can anyone help me on above issue or detail build steps on windows 10 64 machine.

Thank you.

Adhvik
OpENer compile log.txt

stm-at-esd

unread,
Aug 6, 2020, 8:33:12 AM8/6/20
to EIP Stack Group OpENer users
Hi,

which MinGW version do you have installed? I think you need to install the Mingw-w64 compiler from http://mingw-w64.org. This compiler is reasonably up to date. Don't use the MinGW releases from http://www.mingw.org/.

You can see the last successful build of OpENer under Mingw-w64 here: https://travis-ci.org/github/EIPStackGroup/OpENer/jobs/711448510

Best regards,
    Stefan

Srikanth Anand

unread,
Aug 6, 2020, 9:04:25 AM8/6/20
to stm-at-esd, EIP Stack Group OpENer users
Thank you Stefan.

I re-installed MinGW with the Mingw-w64 compiler. I see now the build is successful and OpEner exe got generated.

Adhvik.



--
You received this message because you are subscribed to the Google Groups "EIP Stack Group OpENer users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to eip-stack-group-open...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/eip-stack-group-opener-users/a1ca439e-5f88-4447-ab26-5b25539a60b1o%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages