Ticket UUID: | 3280043 | |||
Title: | win2k: unresolved DLL imports | |||
Type: | Bug | Version: | obsolete: 8.6b1.1 | |
Submitter: | stankok | Created on: | 2011-04-08 00:24:24 | |
Subsystem: | 52. Portability Support | Assigned To: | nijtmans | |
Priority: | 5 Medium | Severity: | ||
Status: | Closed | Last Modified: | 2011-04-08 13:32:08 | |
Resolution: | Fixed | Closed By: | nijtmans | |
Closed on: | 2011-04-08 06:32:08 | |||
Description: |
Functions getaddrinfo(), getnameinfo() and freeaddrinfo() were introduced in winXP, and are not present on win2k. Tcl relies on these functions in files generic/tclIOSock.c and generic/tclIOSock.c, resulting in unresolved imports from ws2_32.dll (see screenshot). The fix is to include header "wspiapi.h". Read section titled "Support for XXX on earlier versions of Windows" at the bottom of articles: getaddrinfo: http://msdn.microsoft.com/en-us/library/ms738520%28v=vs.85%29.aspx getnameinfo: http://msdn.microsoft.com/en-us/library/ms738532%28v=vs.85%29.aspx freeaddrinfo: http://msdn.microsoft.com/en-us/library/ms737931%28v=vs.85%29.aspx Patch is trivial, but here it is: diff -r orig/generic/tclIOSock.c src/generic/tclIOSock.c 15a16,19 > #if defined(_WIN32) > #include <wspiapi.h> > #endif > diff -r orig/win/tclWinSock.c src/win/tclWinSock.c 51a52,53 > #include <wspiapi.h> > | |||
User Comments: |
nijtmans added on 2011-04-08 13:32:08:
allow_comments - 1 Fixed in trunk Moved the #include to win/tclWinPort.h, and added a test to configure.in whether this include file actually esists. stankok added on 2011-04-08 07:24:25: File Added - 407640: win2k_getnameinfo_linking_issue.png |
Attachments:
- win2k_getnameinfo_linking_issue.png [download] added by stankok on 2011-04-08 07:24:24. [details]