This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Building 3.6 fails on Windows
Type: compile error Stage: resolved
Components: Build, Windows Versions: Python 3.6
process
Status: closed Resolution: out of date
Dependencies: Superseder:
Assigned To: Nosy List: jkloth, paul.moore, serhiy.storchaka, steve.dower, tim.golden, vstinner, zach.ware
Priority: normal Keywords:

Created on 2017-09-27 13:55 by serhiy.storchaka, last changed 2022-04-11 14:58 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
build.log serhiy.storchaka, 2017-09-27 13:55
Messages (9)
msg303141 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2017-09-27 13:55
makefile.vc(1076): fatal error U1087: cannot have : and :: dependents for same target [C:\Users\Serhiy Storchaka\py\cpython3.6\PCbuild\tcl.vcxproj]

The full log is attached.
msg303142 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2017-09-27 13:57
How did you build Python 3.6 on Windows? Did you use Visual Studio 2015? Do you use Visual Studio GUI or in the command line?
msg303145 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2017-09-27 14:07
I have installed Visual Studio 2017 and have ran PCbuild\build.bat.

From the master branch all have built successfully.
msg303147 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2017-09-27 14:09
> I have installed Visual Studio 2017 and have ran PCbuild\build.bat.

Oh, I think that VS 2017 is a new feature of Python 3.7 (master), no?

Steve Dower, or Zachary Ware: can you confirm?

See bpo-31340 and bpo-30389.
msg303148 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2017-09-27 14:09
Here are my notes on how to compile CPython on Windows:
https://haypo-notes.readthedocs.io/cpython_windows.html#python-and-visual-studio-version-matrix
msg303149 - (view) Author: Paul Moore (paul.moore) * (Python committer) Date: 2017-09-27 14:16
I believe that's the case, although I'm somewhat surprised by the nature of the error. I'm just checking diffs at the moment.

But VS 2015 is the officially supported compiler for 3.6.
msg303152 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2017-09-27 14:29
> https://haypo-notes.readthedocs.io/cpython_windows.html#python-and-visual-studio-version-matrix

Thank you Victor.

Therefore I do need to install 4 versions of Visual Studio for building three major maintained branches: 2008, 2010, 2015 and 2017? Oh, now I understand why Victor doesn't have sufficient disk space for running tests.
msg303153 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2017-09-27 14:32
To compile Python 2.7, you need VS 2008 *and* 2010.

To compile Python 3.5, 3.6 or master, you need VS 2015.

To compile Python 3.4, you need VS 2010.

I had to work on Python 2.7, 3.4, 3.5, 3.6 and master, so I installed VS 2008, 2010 and 2015 :-)

I didn't give a try to VS 2017 yet. I'm fine with 3 VS versions installed in parallel ;-)
msg303163 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2017-09-27 17:14
If you install VS 2017 and select the "Python native development" option as described in the dev guide, you get the correct compilers (plural) for Python 3.5 onwards. The build.bat file (specifically, the find_msbuild.bat helper) will choose the correct version.

You do not need to install VS 2015 anymore. VS 2015 and VS 2017 both include VC toolset v140, which is the officially supported compiler (the VS version is separate).

The error is coming from the Tcl makefile at these lines:

.SUFFIXES:
.SUFFIXES:.c .rc

I personally have no idea what these mean or why it is failing, and I don't even know what these are meant to do. But perhaps you have some file called ".SUFFIXES" or similar that is causing the Tcl build to fail?
History
Date User Action Args
2022-04-11 14:58:52adminsetgithub: 75793
2019-08-02 23:14:19steve.dowersetstatus: open -> closed
resolution: out of date
stage: resolved
2017-09-27 17:14:55steve.dowersetmessages: + msg303163
2017-09-27 14:45:22jklothsetnosy: + jkloth
2017-09-27 14:32:10vstinnersetmessages: + msg303153
2017-09-27 14:29:06serhiy.storchakasetmessages: + msg303152
2017-09-27 14:16:22paul.mooresetmessages: + msg303149
2017-09-27 14:09:33vstinnersetmessages: + msg303148
2017-09-27 14:09:00vstinnersetmessages: + msg303147
2017-09-27 14:07:24serhiy.storchakasetmessages: + msg303145
2017-09-27 13:57:07vstinnersetnosy: + vstinner
messages: + msg303142
2017-09-27 13:55:22serhiy.storchakacreate