From: SourceForge.net <no...@so...> - 2010-06-27 05:59:23
|
Patches item #3019634, was opened at 2010-06-22 14:08 Message generated for change (Comment added) made by glawlor You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=310894&aid=3019634&group_id=10894 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: 52. Portability Support Group: None Status: Open Resolution: Accepted Priority: 9 Private: No Submitted By: Goodwin Lawlor (glawlor) Assigned to: Jan Nijtmans (nijtmans) Summary: errno.h and tclWinPort.h have conflicting defintiions. Initial Comment: MS VC++ 2010 errno.h and tclWinPort.h have conflicting defintiions. tclWinPort.h: ln144: # define ESOCKTNOSUPPORT 121 ln150: # define EPFNOSUPPORT 123 errno.h ln 113: #define ENOLINK 121 ln 115: #define ENOPROTOOPT 123 ---------------------------------------------------------------------- >Comment By: Goodwin Lawlor (glawlor) Date: 2010-06-27 05:59 Message: I've just tested core-8-5-branch and it's fine too with your patch to tclPosixStr.c Thanks ---------------------------------------------------------------------- Comment By: Jan Nijtmans (nijtmans) Date: 2010-06-24 14:27 Message: Great, thanks for testing! For Tcl 8.5, change of errno values is not something expected in a patch release. Therefore, I resolved the conflict there in a different way. I would appreciate it, if you could test the top of the core-8.5 branch as well. ---------------------------------------------------------------------- Comment By: Goodwin Lawlor (glawlor) Date: 2010-06-24 14:15 Message: The new patch is good for vc+2010. There's nothing problematic with the definitions now that I can see . Thanks! ---------------------------------------------------------------------- Comment By: Jan Nijtmans (nijtmans) Date: 2010-06-24 12:40 Message: .... or simply use the WSA equivalent. New patch attached. Question to glawlor: Do the definitions of ENOTEMPTY, EREMOTE and EPFNOSUPPORT - which I got from cygwin - comflict with anything problematic, or should I better use the WSA equivalent there too? ---------------------------------------------------------------------- Comment By: Donal K. Fellows (dkf) Date: 2010-06-24 09:01 Message: Since we're talking int values, why not just add a million or something? We truly don't need them to be contiguous (nor do we need them to fit in in a char). ---------------------------------------------------------------------- Comment By: Goodwin Lawlor (glawlor) Date: 2010-06-24 06:16 Message: Tried the new patch - got some collisions in tclPosixStr.c now: \tcl\win\..\generic\tclPosixStr.c(242) : error C2196: case value '117' already used \tcl\win\..\generic\tclPosixStr.c(341) : error C2196: case value '132' already used \tcl\win\..\generic\tclPosixStr.c(404) : error C2196: case value '110' already used \tcl\win\..\generic\tclPosixStr.c(407) : error C2196: case value '124' already used \tcl\win\..\generic\tclPosixStr.c(431) : error C2196: case value '129' already used \tcl\win\..\generic\tclPosixStr.c(690) : error C2196: case value '117' already used \tcl\win\..\generic\tclPosixStr.c(789) : error C2196: case value '132' already used \tcl\win\..\generic\tclPosixStr.c(852) : error C2196: case value '110' already used \tcl\win\..\generic\tclPosixStr.c(855) : error C2196: case value '124' already used \tcl\win\..\generic\tclPosixStr.c(879) : error C2196: case value '129' already used NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 10.0\VC\BIN\cl.EXE"' : return code '0x2' Stop. Here's a snippet of the posix defs from VC++2010 errno.h: /* POSIX SUPPLEMENT */ #define EADDRINUSE 100 #define EADDRNOTAVAIL 101 #define EAFNOSUPPORT 102 #define EALREADY 103 #define EBADMSG 104 #define ECANCELED 105 #define ECONNABORTED 106 #define ECONNREFUSED 107 #define ECONNRESET 108 #define EDESTADDRREQ 109 #define EHOSTUNREACH 110 #define EIDRM 111 #define EINPROGRESS 112 #define EISCONN 113 #define ELOOP 114 #define EMSGSIZE 115 #define ENETDOWN 116 #define ENETRESET 117 #define ENETUNREACH 118 #define ENOBUFS 119 #define ENODATA 120 #define ENOLINK 121 #define ENOMSG 122 #define ENOPROTOOPT 123 #define ENOSR 124 #define ENOSTR 125 #define ENOTCONN 126 #define ENOTRECOVERABLE 127 #define ENOTSOCK 128 #define ENOTSUP 129 #define EOPNOTSUPP 130 #define EOTHER 131 #define EOVERFLOW 132 #define EOWNERDEAD 133 #define EPROTO 134 #define EPROTONOSUPPORT 135 #define EPROTOTYPE 136 #define ETIME 137 #define ETIMEDOUT 138 #define ETXTBSY 139 #define EWOULDBLOCK 140 ---------------------------------------------------------------------- Comment By: Jan Nijtmans (nijtmans) Date: 2010-06-23 14:32 Message: There is more to it: - Nowadays we have cygwin and mingw, it is useful that the chosen numbers match with cygwin/mingw as much as possible. So, I looked at it, and came to the following patch. I don't have VC++ 2010, please check if this patch works there! (sorting not done yet, but will do....) Any remarks welcome! ---------------------------------------------------------------------- Comment By: Donal K. Fellows (dkf) Date: 2010-06-23 09:33 Message: This ought to be sorted. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=310894&aid=3019634&group_id=10894 |