After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 601840 - Windows 2000: Glom startup fails: Cannot find freeaddrinfo()
Windows 2000: Glom startup fails: Cannot find freeaddrinfo()
Status: RESOLVED DUPLICATE of bug 611696
Product: glom
Classification: Other
Component: general
1.12.x
Other Windows
: Normal blocker
: ---
Assigned To: Murray Cumming
Murray Cumming
Depends on:
Blocks:
 
 
Reported: 2009-11-13 20:57 UTC by Mark Roberts
Modified: 2010-04-02 15:11 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Instructions from Microsoft how to use GetAddrInfo() in old Windows 2000 (1.31 KB, text/plain)
2009-11-13 20:57 UTC, Mark Roberts
Details

Description Mark Roberts 2009-11-13 20:57:37 UTC
Created attachment 147693 [details]
Instructions from Microsoft how to use GetAddrInfo() in old Windows 2000

After installing glom-setup-1.12.2-1.exe in Windows 2000, glom cannot be launched: it crashes on startup. System error message is

  "Cannot find procedure 'freeaddrinfo' in DLL 'WS2_32.DLL'".

This error does not occur when using glom-setup-1.10.0-1.exe.

microsoft.com tells us that Windows socket function FreeAddrInfo() was introduced with Windows XP and Windows Server 2003. Likewise GetAddrInfo().

Using it therefore breaks compatibility with Windows 2000.

According to Microsoft there is a simple workaround for programmers wanting to continue supporting Windows 2000, see attachment and http://msdn.microsoft.com/en-us/library/ms738520(VS.85).aspx [getaddrinfo Function].

Thank you.
Mark
Comment 1 Murray Cumming 2009-12-28 10:37:09 UTC
Thanks for the bug report.

I'd accept a small patch to support Windows 2000.
Comment 2 Mark Roberts 2010-01-07 07:20:03 UTC
As far as I can tell (using grep) Glom doesn't call the Windows functions GetAddrInfo, FreeAddrInfo directly. The Windows 2000 incompatibility will be in one (or several) of the libraries used.

Somebody with better access to the source codes of the various libraries used should check for these calls (i.e. run grep -i getaddrinfo on the source files) and forward this bug report to any libary that shows hits.

The workaround supplied by Microsoft is as simple as including the extra header 
files Ws2tcpip.h and Wspiapi.h for object files that call the functions.
Comment 3 Armin Burgmeier 2010-01-24 12:13:40 UTC
You can find out which library requires freeaddrinfo() with Dependency Walker: http://dependencywalker.com/
Comment 4 Dan Winship 2010-03-03 13:39:18 UTC
it's in glib. this was supposed to have been fixed already, but the fix wasn't quite right

*** This bug has been marked as a duplicate of bug 611696 ***
Comment 5 Patrick 2010-04-02 14:59:21 UTC
Anyone know if the fix was implemented yet? If not, what's the latest version of GLib (assuming it worked before recently) that runs properly on Windows 2000?
Comment 6 Patrick 2010-04-02 15:11:26 UTC
Okay, I see bug #611696 now. Unfortunately Tor needs a "clean-room" wspiapi.h file in order to recompile his Win32 binaries.