Uploaded image for project: 'ZABBIX BUGS AND ISSUES'
  2. ZBX-596

freeaddrinfo not located in WS2_32.dll on pre Windows XP


    • Icon: Incident report Incident report
    • Resolution: Fixed
    • Icon: Critical Critical
    • 1.6.6, 1.9.0 (alpha)
    • 1.6
    • Agent (G)
    • None
    • Windows 2000 Professional SP4, Zabbix Agent 1.6.1 from distribution

      zabbix_agentd.exe gives this error when run on pre Windows XP systems:
      zabbix_agentd.exe - Entry Point Not Found
      The procedure entry point freeaddrinfo could not be located in the dynamic link library WS2_32.dll.

      See http://www.zabbix.com/forum/showthread.php?p=39592 for discussion

      Probable solution from http://msdn.microsoft.com/en-us/library/ms737931(VS.85).aspx
      Support for freeaddrinfo on earlier versions of Windows

      The freeaddrinfo function was added to the Ws2_32.dll on Windows XP and later. To execute an application using this function on earlier versions of Windows (Windows 2000, Windows NT, and Windows Me/98/95), then you must include the Ws2tcpip.h file and also include the Wspiapi.h file. When the Wspiapi.h include file is added, the freeaddrinfo function is defined to the WspiapiFreeAddrInfo inline function in the Wspiapi.h file. At runtime, the WspiapiFreeAddrInfo function is implemented in such a way that if the Ws2_32.dll or the Wship6.dll (the file containing freeaddrinfo in the IPv6 Technology Preview for Windows 2000) does not include freeaddrinfo, then a version of freeaddrinfo is implemented inline based on code in the Wspiapi.h header file. This inline code will be used on older Windows platforms that do not natively support the freeaddrinfo function.

            sasha Alexander Vladishev
            brendang Brendan Gilmore
            11 Vote for this issue
            9 Start watching this issue