Visual Studio's cl.exe fails only with Python 3.3 and 3.4 and only on 64bit (not on Unix)
Build: https://ci.appveyor.com/project/hyllos/effectus-python/build/1.0.63
error: command 'c:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\Bin\\x86_amd64\\cl.exe' failed with exit status -1073741515
What can be the cause of the digression?
How can I increase verbosity / debug?
Thanks.
Benjamin
Comments are currently closed for this discussion. You can start a new one.
Keyboard shortcuts
Generic
? | Show this help |
---|---|
ESC | Blurs the current field |
Comment Form
r | Focus the comment reply box |
---|---|
^ + ↩ | Submit the comment |
You can use Command ⌘
instead of Control ^
on Mac
Support Staff 1 Posted by Feodor Fitsner on 26 Feb, 2017 11:37 PM
I've rebuilt the last successful commit for Python 3.3 x64 and it worked: https://ci.appveyor.com/project/FeodorFitsner/effectus-python/build...
2 Posted by Benjamin on 26 Feb, 2017 11:48 PM
Thanks Feodor for your prompt response.
I cannot confirm that would clarify my issue.
The last successful commit for Python 3.3 x64 did not rely on cl.exe from Visual Studio as no C code was present.
The error only occurs on 64 bit, not on 32 bit and only for Python 3.3 and Python 3.4.
If Visual Studio 2015 passes without glitches both 32 bit and 64 bit (2010 32 bit anyways), does the issue reside on the side of my code?
Feedback from #python:
The exit code should indicate a missing DLL. How can I find out which?
A: "I would start by making sure the 64-bit VS2010 is in fact (correctly) installed on the machines this is being run on."
Q: "Would that explain the digression to occur on py3.3 and py3.4 and only on win64 bit to occur (not on darwin)?"
A: "if the VS2010 32-bit install is fine but the 64-bit install is missing, incomplete or broken, yes. 3.3 and 3.4 both use VS2010. 3.5 and later use VS2015."
Support Staff 3 Posted by Feodor Fitsner on 26 Feb, 2017 11:59 PM
Unfortunately, I don't have much experience with Python, so I can't say what might be wrong.
You can login into build VM via RDP and find out what's missing. If you know how to fix that you'll help others.
Btw, I built the last commit on
Previous Visual Studio 2015
(January 24) and it also failed: https://ci.appveyor.com/project/FeodorFitsner/effectus-python/build...If something is broken on a build image it was broken before the last update.
4 Posted by Benjamin on 27 Feb, 2017 12:20 AM
I was able to login via RDP twice, however this time fails:
Unable to connect to remote PC. Please verify Remote Desktop is enabled, the remote PC is turned on and available on the network, and then try again.
https://ci.appveyor.com/project/hyllos/effectus-python/build/job/s3yj2kg1va4850qf
Should I wait for it to be reset after 60 mins?
Support Staff 5 Posted by Feodor Fitsner on 27 Feb, 2017 12:24 AM
Just restart the build to get onto different VM (you may leave just this job in appveyor.yml's matrix to speed up things). There might be gaps in port mappings - will take a look.
6 Posted by Benjamin on 27 Feb, 2017 01:27 AM
Feodor,
here is my reconstruction:
mspdb100.dll is missing.
http://stackoverflow.com/a/6476764/2490706
tells to run the following to get the ENV and amenities prepared correctly
"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86
obviously the x86 must be changed to anything suitable for x64, like (typing anything wrong instead of x86 shows list of valid options):
ia64 | amd64 | x86_amd64 | x86_ia64
All of which raise:
"The specified configuration type is missing. The tools for the configuration might not be installed."
I suspect some 64 bit specific tools for Visual Studio to be missing, both for 2010 and 2015:
https://social.msdn.microsoft.com/Forums/en-US/e0ef4613-d90f-4eec-90db-41339ed31367/vs2010-express-and-missing-x64-compiler?forum=Vsexpressinstall
which would be
https://blogs.msdn.microsoft.com/windowssdk/2010/05/25/released-windows-sdk-for-windows-7-and-net-framework-4/
Firstly, what can I or you do to make one of the following lines working?
"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" ia64
"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" amd64
"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86_amd64
"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86_ia64
Secondly, how can I define this varsall only to be executed on init for 64 bit variants in my appveyor.yml?
7 Posted by Benjamin on 27 Feb, 2017 01:48 AM
So then I tried to install that Visual Studio SDK stuff (by not knowing whether this is actually the problem).
It shows (screenshot 1) x64 libraries to be installed (if the files in question are really in it, the image might be corrupted). I can't install the C++ tools, as mentioned in the MSDN post, due to missing .NET 4.0.
However if I try to install .NET 4.6.2, it tells me blatantly that it already is installed (screenshot 2).
Kindly request you to revert on this issue back to me.
Benjamin
8 Posted by Victor on 27 Feb, 2017 03:26 PM
Hey Benjamin, have you taken a look at this example project? They have some information/scripts to deal w VIsual Studio/Python. I suspect the run_with_env.cmd should do what you need.
https://github.com/ogrisel/python-appveyor-demo/blob/master/appveyor/run_with_env.cmd
For my project we build python libraries using visual studio as well, but getting the setup right to deal w all the different visual studio configurations was a pain.
https://ci.appveyor.com/project/pythonnet/pythonnet/branch/master
9 Posted by Victor on 27 Feb, 2017 03:32 PM
Since you are using TOX you may need to add to its config PASSENV so that the env_vars make it through. You may want to test without TOX first too.
Kudos on getting TOX setup with 32/64 combination. I been meaning to figure that one out.
10 Posted by Benjamin on 27 Feb, 2017 06:20 PM
PROBLEM RESOLVED
Victor —
Thanks for your input. That have been the missing bits I needed.
My tests pass all now: https://ci.appveyor.com/project/hyllos/effectus-
python/build/1.0.78
Due to the two examples you provided, I was able to add appveyor_env.cmd and to adapt appveyor.yml.
Further, I simplified the matrix extensively appreciating your appveyor.yml.
Best wishes,
Benjamin
11 Posted by Victor on 27 Feb, 2017 06:38 PM
Awesome! glad it worked and thanks for the reference in your `appveyor.yml` :)
Since you put python and scripts in PATH you can now call `pip` and `tox` directly.
There's a couple other tweaks you can do on your TOX / AppVeyor config. I can open a ticket on bitbucket if u want.
Ilya Finkelshteyn closed this discussion on 25 Aug, 2018 02:15 AM.