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 637565 - libgio-2.0-0.dll is not compatible with Windows 2000
libgio-2.0-0.dll is not compatible with Windows 2000
Status: RESOLVED OBSOLETE
Product: glib
Classification: Platform
Component: win32
2.26.x
Other Windows
: Normal normal
: ---
Assigned To: gtk-win32 maintainers
gtk-win32 maintainers
Depends on:
Blocks:
 
 
Reported: 2010-12-19 13:25 UTC by Dieter Verfaillie
Modified: 2018-05-24 12:55 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
make gio 2.36.3 work on Windows 2000 (1.24 KB, patch)
2013-08-30 08:12 UTC, TS
none Details | Review

Description Dieter Verfaillie 2010-12-19 13:25:45 UTC
Hi,

On http://www.gtk.org/download-windows.html the following is stated:
"The current GTK+ stack uses APIs that are available only on Windows 2000
or later."

A bit further on that page a download link is provided for GLib 2.26.0:
http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.26/glib_2.26.0-2_win32.zip

However, the libgio-2.0-0.dll from that zip uses the freeaddrinfo()
function that is only available starting with windows xp [1].
Luckily, on [1] we learn that there's a workaround for earlier
versions of windows in the form of wspiapi.h. Sadly, wspiapi.h is not
freely available for MinGW (the one from http://mingw.org). There seems
to be a copy from the mingw64 project (but it looks like it's provenance
is under suspicion [2]).

So, is this a bug in the documentation in that Windows 2000 is no longer
supported for the official windows binaries?
Or is this a bug with how the official 32bit windows binaries are built
that can be fixed?

Reproducing:
- on a windows 2000 system
- download and extract [3] to C:\gtk+-bundle\
- cd C:\gtk+-bundle\bin\
- gtk-demo.exe
Result:
A messagebox with the following error appears: "The procedure entry point
freeaddrinfo could not be located in the dynamic link library WS2_32.dll"

Thanks,
Dieter

[1] http://msdn.microsoft.com/en-us/library/ms737931%28v=vs.85%29.aspx,
especially the "Support for freeaddrinfo on earlier versions of Windows" section.
[2] http://permalink.gmane.org/gmane.comp.gnu.mingw.user/34741
[3] http://ftp.gnome.org/pub/GNOME/binaries/win32/gtk+/2.22/gtk+-bundle_2.22.0-20101016_win32.zip
Comment 1 Dan Winship 2011-04-09 13:16:17 UTC
actually, this should be win32, not network

I don't know if Windows 2000 is still intended to be supported.
Comment 2 Hans Breuer 2011-04-10 07:43:14 UTC
There is trouble in keeping GLib/Gtk+ useable on still relevant versions of Windows. I suggeest to not waste time on obsolete versions and just let the website state winxp sp3 or later.
See bug #604458 and bug #603527 for more information.
Comment 3 Dieter Verfaillie 2011-06-10 09:03:27 UTC
Agreed. How do we go about this? Is a patch against gtk-web enough or
is there more documentation that needs to be updated? Do we need to
convince anyone (GLib/GTK+ maintainers) before actually writing said
documentation patches?
Comment 4 Matthias Clasen 2013-02-03 15:25:58 UTC
A patch for the gtk-web/ module would indeed be enough.
Though it might be nice to spell out the Windows requirements in the glib reference docs too.
Comment 5 TS 2013-08-30 08:12:42 UTC
Created attachment 253587 [details] [review]
make gio 2.36.3 work on Windows 2000
Comment 6 TS 2013-08-30 08:15:13 UTC
Why give up W2K compatibility so easily?

The attached simple patch against 2.36.3 makes gio work again under W2K, at least when crosscompiled using mingw-w64 (because mingw-w64 ships wspiapi.h, which contains the freeaddrinfo emulation routines that are used if the native routines are absent, i.e. on W2K).
Comment 7 GNOME Infrastructure Team 2018-05-24 12:55:53 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/glib/issues/382.