classification
Title: _decimal does not build in PGUpdate mode
Type: compile error Stage: patch review
Components: Extension Modules Versions: Python 3.3
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: brian.curtin, loewis, python-dev, skrah
Priority: normal Keywords: needs review

Created on 2012-07-31 07:39 by skrah, last changed 2012-08-24 13:24 by loewis. This issue is now closed.

Files
File name Uploaded Description Edit
_decimal-pgo.diff skrah, 2012-07-31 08:36 review
Messages (12)
msg166970 - (view) Author: Stefan Krah (skrah) * (Python committer) Date: 2012-07-31 07:39
_decimal does not build in PGUpdate mode. I didn't notice this because
I've always used the Release mode so far:

msbuild PCbuild\pcbuild.sln /p:Configuration=PGInstrument /p:Platform=x64
msbuild PCbuild\pcbuild.sln /p:Configuration=PGUpdate /p:Platform=x64


"C:\Users\stefan\pydev\cpython\PCbuild\pcbuild.sln" (default target) (1) ->                                              
"C:\Users\stefan\pydev\cpython\PCbuild\_decimal.vcxproj" (default target) (10) ->                                        
(Link target) ->                                                                                                         
  LINK : fatal error LNK1181: cannot open input file 'C:\Users\stefan\pydev\cpython\PCbuild\\amd64\python33.lib' [C:\Use 
rs\stefan\pydev\cpython\PCbuild\_decimal.vcxproj]
msg166976 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2012-07-31 08:30
I can't reproduce this. It builds fine for me. Are you sure you did PGInstrument before?
msg166977 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2012-07-31 08:30
Also, can you try building from the GUI, rather than from the command line?
msg166980 - (view) Author: Stefan Krah (skrah) * (Python committer) Date: 2012-07-31 08:36
_decimal-pgo.diff sort of solves the problem. It might be a good
idea to regenerate _decimal.vcproj using the GUI. I've created it
in true Unix fashion by modifying an existing vcproj...


I'm always building using the command line. If you say that the GUI
build works, I trust you of course. :)
msg166983 - (view) Author: Stefan Krah (skrah) * (Python committer) Date: 2012-07-31 09:05
Using MSVC Professional 2010 and the GUI, I'm getting the same error:

1) Select PGInstrument|x64. Clean the solution.

2) Select PGUpdate|x64. Clean the solution.

3) Select PGInstrument|x64. Build the solution.

4) Select PGUpdate|x64. Build the solution.  ->  error.


Note that PCbuild\amd64\python33.lib is not present, i.e. I did
not build Release|x64. This isn't a dependency I hope?
msg166987 - (view) Author: Stefan Krah (skrah) * (Python committer) Date: 2012-07-31 10:45
Ok, Microsoft dropped PGO support in VS 2010 "Professional". In
VS 2008 *Professional* it was present.

So I'll jump through the hoops of the marketing department and
install "Ultimate".


The patch is of limited value then: _decimal does build in the
"Professional" edition using PGUpdate, but using that mode is
probably pointless.
msg166995 - (view) Author: Stefan Krah (skrah) * (Python committer) Date: 2012-07-31 12:46
Well, I have Ultimate now and encounter the same problem. Also, when
I start PCbuild\x64-pgi\python.exe it exits immediately without
displaying an error.


The PC\VS9.0 PGUpdate build works fine.
msg166999 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2012-07-31 14:04
Make sure you clean all build directories; then rebuild.
msg167000 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2012-07-31 14:07
"clean" = "manually delete, e.g. from explorer"
msg167007 - (view) Author: Stefan Krah (skrah) * (Python committer) Date: 2012-07-31 15:20
Building from a fresh tree enables successful launching of PCbuild\x64-pgi\python.exe,
but _decimal is still not built. I literally ran the following commands,
so anyone can paste them into a command window and see for themselves:


# cpython is a pristine clone
hg clone cpython cpython-test
cd cpython-test
"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x64
msbuild PCbuild\pcbuild.sln /p:Configuration=PGInstrument /p:Platform=x64
msbuild PCbuild\pcbuild.sln /p:Configuration=PGUpdate /p:Platform=x64


"C:\Users\stefan\pydev\cpython-test\PCbuild\_decimal.vcxproj" (default target) (10) ->                            
(Link target) ->                                                                                                  
  LINK : fatal error LNK1181: cannot open input file 'C:\Users\stefan\pydev\cpython-test\PCbuild\\amd64\python33. 
lib' [C:\Users\stefan\pydev\cpython-test\PCbuild\_decimal.vcxproj]
msg169016 - (view) Author: Roundup Robot (python-dev) Date: 2012-08-24 13:22
New changeset cbd4fbb90e95 by Martin v. Löwis in branch 'default':
Issue #15511: Drop explicit dependency on pythonxy.lib from amd64 configuration.
http://hg.python.org/cpython/rev/cbd4fbb90e95
msg169017 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2012-08-24 13:24
I now recall that I worked around this issue, by just copying python33.lib in the place where it's expected.

The right solution is not to configure a dependency on the .lib, as it will automatically be added by the pragma in the include file. The search path comes from the property files.
History
Date User Action Args
2012-08-24 13:24:37loewissetstatus: open -> closed
resolution: fixed
messages: + msg169017
2012-08-24 13:22:04python-devsetnosy: + python-dev
messages: + msg169016
2012-07-31 15:20:39skrahsetmessages: + msg167007
2012-07-31 14:07:42loewissetmessages: + msg167000
2012-07-31 14:04:10loewissetmessages: + msg166999
2012-07-31 12:46:38skrahsetmessages: + msg166995
title: VS 2010 "Professional": _decimal does not build in PGUpdate mode -> _decimal does not build in PGUpdate mode
2012-07-31 10:45:05skrahsetmessages: + msg166987
title: _decimal does not build in PGUpdate mode -> VS 2010 "Professional": _decimal does not build in PGUpdate mode
2012-07-31 09:05:12skrahsetmessages: + msg166983
2012-07-31 08:42:02skrahsetkeywords: + needs review, - patch
stage: needs patch -> patch review
2012-07-31 08:36:41skrahsetfiles: + _decimal-pgo.diff
keywords: + patch
messages: + msg166980
2012-07-31 08:30:43loewissetpriority: release blocker -> normal
2012-07-31 08:30:33loewissetmessages: + msg166977
2012-07-31 08:30:03loewissetmessages: + msg166976
2012-07-31 07:39:02skrahcreate