classification
Title: msvc9compiler.py doesn't properly generate manifest files.
Type: compile error Stage: resolved
Components: Distutils Versions: Python 3.2
process
Status: closed Resolution: out of date
Dependencies: Superseder:
Assigned To: tarek Nosy List: Jahangir, Thierry.Bastian, eric.araujo, mhammond, steve.dower, tarek
Priority: normal Keywords: patch

Created on 2011-11-26 21:59 by Jahangir, last changed 2021-02-03 18:37 by steve.dower. This issue is now closed.

Files
File name Uploaded Description Edit
msvc9compiler.py.diff Jahangir, 2011-11-26 21:59
python-cmakelists.txt Thierry.Bastian, 2012-03-25 21:33 allows me to compile python with cmake and MSVC2010
Messages (4)
msg148424 - (view) Author: Jahangir (Jahangir) Date: 2011-11-26 21:59
msvc9compiler.py aims to generate a manifestation file but it will always fail as MSVC (cl.exe) needs a second /MANIFEST parameter to do so.

This makes the subsequent 'linking' processes fail with the following error:

general error c1010070: Failed to load and parse the manifest. The system cannot find the file specified.


http://msdn.microsoft.com/en-us/library/f2c0w594.aspx (default value is NO)
msg148518 - (view) Author: Mark Hammond (mhammond) * (Python committer) Date: 2011-11-28 22:39
A manifest seems to be currently created fine - can you provide steps to reproduce the problem you see?
msg156775 - (view) Author: Thierry Bastian (Thierry.Bastian) Date: 2012-03-25 21:33
I have the same issue. To be honest it is because I'm using MSVC2010. I know it is not a supported platform but the patch to fix the problem is really just the following (and it is compatible with MSVC2008):

--- Lib/distutils/msvc9compiler.py.orig Mon Jun 21 17:27:46 2010
+++ Lib/distutils/msvc9compiler.py      Mon Mar 12 13:23:56 2012
@@ -645,6 +645,7 @@
                     build_temp,
                     os.path.basename(output_filename) + ".manifest")
             ld_args.append('/MANIFESTFILE:' + temp_manifest)
+            ld_args.append('/MANIFEST')

             if extra_preargs:
                 ld_args[:0] = extra_preargs


On a side-note I wrote a CMakeLists.txt for python for windows. I have to say it was pretty easy even if I'm not building everything (I left out tcl/tk and bsddb). I would hope python in the future could use a more flexible way if being built. For reference, I copy here the cmakelists.txt.
msg386445 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2021-02-03 18:37
Distutils is now deprecated (see PEP 632) and all tagged issues are being closed. From now until removal, only release blocking issues will be considered for distutils.

If this issue does not relate to distutils, please remove the component and reopen it. If you believe it still requires a fix, most likely the issue should be re-reported at https://github.com/pypa/setuptools
History
Date User Action Args
2021-02-03 18:37:41steve.dowersetstatus: open -> closed

nosy: + steve.dower
messages: + msg386445

resolution: out of date
stage: resolved
2012-03-25 21:33:08Thierry.Bastiansetfiles: + python-cmakelists.txt
nosy: + Thierry.Bastian
messages: + msg156775

2011-11-28 22:39:22mhammondsetmessages: + msg148518
2011-11-28 13:57:12eric.araujosetnosy: + mhammond
2011-11-26 21:59:42Jahangircreate