Title: PreLinkEvent error under VC2010
Type: compile error Stage:
Components: Build Versions: Python 3.2
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: honglei.jiang, kristjan.jonsson, loewis
Priority: normal Keywords:

Created on 2010-12-12 05:59 by honglei.jiang, last changed 2010-12-13 03:33 by kristjan.jonsson. This issue is now closed.

Messages (5)
msg123826 - (view) Author: honglei jiang (honglei.jiang) * Date: 2010-12-12 05:59
1>  Description: Generate build information...
1>  Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for 80x86
1>  Copyright (C) Microsoft Corporation.  All rights reserved.
1>  cl.exe -c -D_WIN32 -DUSE_DL_EXPORT -D_WINDOWS -DWIN32 -D_WINDLL -MD ..\Modules\getbuildinfo.c -Fo"E:\Python-3.2b1\PCbuild\Win32-temp-Release\pythoncore"\getbuildinfo.o" -I..\Include -I..\PC
1>  getbuildinfo.c
1>..\Modules\getbuildinfo.c(1): fatal error C1083: Cannot open include file: 'Python.h': No such file or directory
1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(108,5): error MSB3073: The command ""E:\Python-3.2b1\PCbuild\make_buildinfo.exe" Release "E:\Python-3.2b1\PCbuild\Win32-temp-Release\pythoncore\"
1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(108,5): error MSB3073: :VCEnd" exited with code -1.
1>Build FAILED.

the following will be ok:
cl.exe -c -D_WIN32 -DUSE_DL_EXPORT -D_WINDOWS -DWIN32 -D_WINDLL -MD ..\Modules\getbuildinfo.c -I..\Include -I..\PC -Fo"E:\Python-3.2b1\PCbuild\Win32-temp-Release\pythoncore"\getbuildinfo.o" 

included dir should ahead of -F options.
msg123830 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2010-12-12 08:04
The problem is different: there is a stray " in pythoncore"\getbuildinfo.o. Kristjan, this is your change: can you take a look?
msg123855 - (view) Author: Kristján Valur Jónsson (kristjan.jonsson) * (Python committer) Date: 2010-12-13 02:09
Yes, I have VC2010 so I'll see what happens...
msg123861 - (view) Author: Kristján Valur Jónsson (kristjan.jonsson) * (Python committer) Date: 2010-12-13 03:21
Ok the problem is this line in the pre-link step, that must have gotten changed during the conversion:
"$(SolutionDir)make_buildinfo.exe" Debug "$(IntDir)"
should be
"$(SolutionDir)make_buildinfo.exe" Debug "$(IntDir)\"
This is because ($IntDir) will expand to a path ending in a backslash, thus escaping the quotes.  We have to escape the backslash using this notation.
The backslash gets removed during the automatic update of the project files.
Is there an official VS2010 build project?  If there is one, I can fix this there.

There is an alternative.  We can catch this particular error by skiping a trailing " in the path name.  This is perhaps good too, since others are bound to run into this problem.
msg123862 - (view) Author: Kristján Valur Jónsson (kristjan.jonsson) * (Python committer) Date: 2010-12-13 03:33
Implemented the "trailing quote removal" defensive programming strategy in revision 87205.
Others that autoconvert the solution will not be hit by this problem.
Date User Action Args
2010-12-13 03:33:20kristjan.jonssonsetstatus: open -> closed
resolution: fixed
messages: + msg123862
2010-12-13 03:21:04kristjan.jonssonsetmessages: + msg123861
2010-12-13 02:09:54kristjan.jonssonsetmessages: + msg123855
2010-12-12 08:04:52loewissetnosy: + kristjan.jonsson, loewis
messages: + msg123830
2010-12-12 06:01:09honglei.jiangsetversions: + Python 3.2, - Python 3.3
2010-12-12 05:59:07honglei.jiangcreate