[Mono-bugs] [Bug 569392] New: Mono 2.6.1 fails on Windows due to reference to unsupported function 'freeaddrinfo' in WS2_32.DLL

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Fri Jan 8 16:34:55 EST 2010


http://bugzilla.novell.com/show_bug.cgi?id=569392

http://bugzilla.novell.com/show_bug.cgi?id=569392#c0


           Summary: Mono 2.6.1 fails on Windows due to reference to
                    unsupported function 'freeaddrinfo' in WS2_32.DLL
    Classification: Mono
           Product: Mono: Runtime
           Version: 2.6.x
          Platform: x86-64
        OS/Version: Windows 2000
            Status: NEW
          Severity: Critical
          Priority: P5 - None
         Component: misc
        AssignedTo: mono-bugs at lists.ximian.com
        ReportedBy: jmalcolm at cia.com
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---
           Blocker: ---


User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/532.8
(KHTML, like Gecko) Chrome/4.0.291.0 Safari/532.8

The Mono 2.6.1 + GTK# + XSP download at monodevelop.com (go-mono.com)
incorrectly states that it works on all versions of Windows 2000, XP, and
Vista.  It does not work on Windows 2000. 

For 2.6.1, I get an error in a dialog box titled "Entry Point Not Found"
displaying the message "The procedure entry point freeaddrinfo could not be
located in the dynamic link library WS2_32.DLL". 

All you have to do to get this error is "mono --version" or invoke Mono for
anything at all. 

According to MSDN, the freeaddrinfo function was first added in Windows XP: 

http://msdn.microsoft.com/en-us/library/ms737931(VS.85).aspx

The MSDN entry also provides a way to make it work on Windows 2000 though so a
patch should be straight-forward.  From the article... 

"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." 

All earlier versions of Mono that I have tried, including 2.4.3.1 work fine on
Windows 2000.

Reproducible: Always

Steps to Reproduce:
1. Type 'mono --version' or invoke mono in any other way
2.
3.
Actual Results:  
The procedure entry point freeaddrinfo could not be located in the dynamic link
library WS2_32.DLL

Expected Results:  
mono runtime should execute provided assembly

Good information available at MSDN:

http://msdn.microsoft.com/en-us/library/ms737931(VS.85).aspx

-- 
Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the mono-bugs mailing list