Build issue with OpENer on Windows 10 64 machine

135 views
Skip to first unread message

Adhvik

unread,
Aug 6, 2020, 7:56:42 AM8/6/20
to EIP Stack Group OpENer Developers
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

Srikanth Anand

unread,
Aug 6, 2020, 9:12:21 AM8/6/20
to EIP Stack Group OpENer Developers
Build issue solved after re-install MinGW with Mingw-w64 compiler from http://mingw-w64.org  Thank you Stefan for the quick response and fix suggestion.

Adhvik.
Reply all
Reply to author
Forward
0 new messages