classification
Title: bdist_wininst generated 64-bit executable looks for 3.5-32
Type: behavior Stage: resolved
Components: Distutils, Windows Versions: Python 3.7, Python 3.6, Python 3.5
process
Status: closed Resolution: duplicate
Dependencies: Superseder: bdist_wininst created binaries fail to start and find 32bit Pythons
View: 26071
Assigned To: steve.dower Nosy List: Timothy Widrick, cgohlke, dstufft, merwok, paul.moore, steve.dower, tim.golden, zach.ware
Priority: normal Keywords: 3.4regression, patch

Created on 2016-11-13 02:39 by Timothy Widrick, last changed 2016-12-13 17:21 by steve.dower. This issue is now closed.

Files
File name Uploaded Description Edit
fix_issue28680.diff cgohlke, 2016-12-13 08:55 Fix Issue28680 review
Messages (5)
msg280682 - (view) Author: Timothy Widrick (Timothy Widrick) Date: 2016-11-13 02:39
Short version: wininst-14.0-amd64.exe has "-32" in it. It shouldn't, should it?

Longer version:

Running "python setup.py bdist_wininst" gives me a file named like:

    project-version.win-amd64-py3.5.exe

When I run that, I get:

    Python version 3.5-32 required, which was not found in the registry.

My "fix" was to edit the wininst-14.0-amd64.exe and replace the "-32" with 3 null bytes.
msg283083 - (view) Author: Christoph Gohlke (cgohlke) Date: 2016-12-13 08:13
Pillow-3.4.2.win-amd64-py3.5.exe fails to install due to this. See <https://github.com/python-pillow/Pillow/issues/2285>.

`MS_WIN64` is never defined at <https://hg.python.org/cpython/file/v3.5.2/PC/bdist_wininst/install.c#l157> because bdist_wininst does not depend on the Python headers. A possible fix is to use `_WIN64` instead of `MS_WIN64`.
msg283086 - (view) Author: Christoph Gohlke (cgohlke) Date: 2016-12-13 08:55
The attached patch was tested with Pillow-3.4.2 on Python 3.6.0rc1, 32-bit and 64-bit.

It would be nice to get this fixed in Python 3.5.3 and 3.6.0.
msg283106 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2016-12-13 14:26
Thanks. 3.5.3 is definite, I've pinged the release manage on the original bug to see about 3.6.0, but definitely 3.6.1.

Considering we've gone through all of 3.5 and 3.6 with very few people noticing (and as far as I'm aware, completely able to fix it themselves), it may not make the initial 3.6 release.
msg283128 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2016-12-13 17:21
Fixed for 3.5.3, 3.6.1 and default against the original issue26071
History
Date User Action Args
2016-12-13 17:21:55steve.dowersetstatus: open -> closed
superseder: bdist_wininst created binaries fail to start and find 32bit Pythons
messages: + msg283128

resolution: duplicate
stage: resolved
2016-12-13 14:26:42steve.dowersetkeywords: + 3.4regression
assignee: steve.dower
versions: + Python 3.7
2016-12-13 14:26:26steve.dowersetmessages: + msg283106
2016-12-13 08:55:00cgohlkesetfiles: + fix_issue28680.diff

nosy: + paul.moore, tim.golden, zach.ware, steve.dower
messages: + msg283086

components: + Windows
keywords: + patch
2016-12-13 08:13:42cgohlkesetnosy: + cgohlke

messages: + msg283083
versions: + Python 3.6
2016-11-13 02:39:12Timothy Widrickcreate