classification
Title: When using a Windows XP compatible toolset, `socketmodule.c` fails to build
Type: compile error Stage: resolved
Components: Windows Versions: Python 3.5
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: steve.dower Nosy List: Maxime Belanger, berker.peksag, christian.heimes, larry, paul.moore, steve.dower, tim.golden, zach.ware
Priority: normal Keywords: patch

Created on 2017-12-12 00:00 by Maxime Belanger, last changed 2018-09-21 20:46 by steve.dower. This issue is now closed.

Pull Requests
URL Status Linked Edit
PR 4805 merged maxbelanger, 2017-12-12 00:04
PR 5120 merged python-dev, 2018-01-07 02:05
Messages (8)
msg308081 - (view) Author: Maxime Belanger (Maxime Belanger) Date: 2017-12-12 00:00
If Python is built using the Windows XP "variant" of the toolset (e.g. `v140_xp`), build errors can occur in `socketmodule.c`. This is due to the include of `VersionHelpers.h` being gated on `_MSC_VER`, which "lies" if `v140_xp` is in use.

We'll be contributing our patch to this issue here.
msg308108 - (view) Author: Christian Heimes (christian.heimes) * (Python committer) Date: 2017-12-12 10:40
- 3.5 receives only security updates.
- XP is no longer supported.
msg308140 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2017-12-12 15:29
If you can't compile, security fixes aren't worth anything. And while we don't support XP, the v140_xp toolset is in more of a grey area. There are real ways you could be forced into using it besides targeting XP.

Max - I'd rather just remove the ifdef checks completely. Fairly sure I added them in the migration from VC10, but they are simply incorrect (the header is from the WinSDK which is not the same as _MSC_VER) and will always be there for the versions of the SDK we allow, even back to 3.5.
msg308155 - (view) Author: Maxime Belanger (Maxime Belanger) Date: 2017-12-12 21:57
Works for me. We no longer rely on the `_xp` toolset so no objections.
msg309595 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2018-01-07 02:05
New changeset af11a15c586e980a157c04ee60b6e33dc7228f3f by Steve Dower (Max Bélanger) in branch 'master':
bpo-32282: Remove unnecessary check for `VersionHelpers.h` in `socketmodule.c` on Windows
https://github.com/python/cpython/commit/af11a15c586e980a157c04ee60b6e33dc7228f3f
msg317039 - (view) Author: Berker Peksag (berker.peksag) * (Python committer) Date: 2018-05-18 17:38
New changeset 09eb6fe8fdd2515546b933902aef36b72d417ace by Berker Peksag (Miss Islington (bot)) in branch '3.6':
bpo-32282: Remove unnecessary check for `VersionHelpers.h` in `socketmodule.c` on Windows (GH-5120)
https://github.com/python/cpython/commit/09eb6fe8fdd2515546b933902aef36b72d417ace
msg317041 - (view) Author: Berker Peksag (berker.peksag) * (Python committer) Date: 2018-05-18 17:40
It looks like we need to backport this manually for 3.5 (if Larry approves)
msg326037 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2018-09-21 20:46
I'm going to just close this without fixing 3.5. If there's demand, we can consider it, but at this stage it's so easy for people to migrate to 3.6 or later that I'm sure that's already been done.
History
Date User Action Args
2018-09-21 20:46:11steve.dowersetstatus: open -> closed
resolution: fixed
messages: + msg326037

stage: backport needed -> resolved
2018-05-18 17:40:34berker.peksagsetstage: patch review -> backport needed
messages: + msg317041
versions: - Python 3.6, Python 3.7
2018-05-18 17:38:29berker.peksagsetnosy: + berker.peksag
messages: + msg317039
2018-01-07 02:05:58python-devsetpull_requests: + pull_request4987
2018-01-07 02:05:21steve.dowersetmessages: + msg309595
2017-12-12 21:57:59Maxime Belangersetmessages: + msg308155
2017-12-12 15:29:40steve.dowersetversions: + Python 3.5
nosy: + larry

messages: + msg308140

type: compile error
2017-12-12 10:40:59christian.heimessetversions: - Python 3.5
nosy: + christian.heimes

messages: + msg308108

assignee: steve.dower
2017-12-12 00:04:37maxbelangersetkeywords: + patch
stage: patch review
pull_requests: + pull_request4702
2017-12-12 00:00:54Maxime Belangercreate