Visual Studio's cl.exe fails only with Python 3.3 and 3.4 and only on 64bit (not on Unix)

Benjamin's Avatar

Benjamin

26 Feb, 2017 11:19 PM

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

  1. Support Staff 1 Posted by Feodor Fitsner on 26 Feb, 2017 11:37 PM

    Feodor Fitsner's Avatar

    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. 2 Posted by Benjamin on 26 Feb, 2017 11:48 PM

    Benjamin's Avatar

    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."

  3. Support Staff 3 Posted by Feodor Fitsner on 26 Feb, 2017 11:59 PM

    Feodor Fitsner's Avatar

    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. 4 Posted by Benjamin on 27 Feb, 2017 12:20 AM

    Benjamin's Avatar

    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?

  5. Support Staff 5 Posted by Feodor Fitsner on 27 Feb, 2017 12:24 AM

    Feodor Fitsner's Avatar

    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. 6 Posted by Benjamin on 27 Feb, 2017 01:27 AM

    Benjamin's Avatar

    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. 7 Posted by Benjamin on 27 Feb, 2017 01:48 AM

    Benjamin's Avatar

    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. 8 Posted by Victor on 27 Feb, 2017 03:26 PM

    Victor 's Avatar

    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. 9 Posted by Victor on 27 Feb, 2017 03:32 PM

    Victor 's Avatar

    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. 10 Posted by Benjamin on 27 Feb, 2017 06:20 PM

    Benjamin's Avatar

    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. 11 Posted by Victor on 27 Feb, 2017 06:38 PM

    Victor 's Avatar

    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.

Reply to this discussion

Internal reply

Formatting help / Preview (switch to plain text) No formatting (switch to Markdown)

Attaching KB article:

»

Attached Files

You can attach files up to 10MB

If you don't have an account yet, we need to confirm you're human and not a machine trying to post spam.

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