Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

unable to find msvcp140.dll when cross-compiling to ARM64 with cibuildwheel #44

Closed
minrk opened this issue Feb 26, 2024 · 2 comments
Closed

Comments

@minrk
Copy link

minrk commented Feb 26, 2024

I'm exploring building Windows ARM wheels for pyzmq. This uses cibuildwheel, which cross-compiles from AMD64 to ARM64, and then invokes delvewheel. The build is succeeding, but delvewheel is not finding msvcp140.dll:

  File "C:\hostedtoolcache\windows\Python\3.11.8\x64\Lib\site-packages\delvewheel\_dll_utils.py", line 403, in get_all_needed
      raise FileNotFoundError(f'Unable to find library: {dll_name}')
  FileNotFoundError: Unable to find library: msvcp140.dll
  extracting pyzmq-26.0.0a6-cp39-cp39-win_arm64.whl to C:\Users\RUNNER~1\AppData\Local\Temp\tmpy71qzmf_
  repairing C:\Users\runneradmin\AppData\Local\Temp\cibw-run-eilqynyq\cp39-win_arm64\built_wheel\pyzmq-26.0.0a6-cp39-cp39-win_arm64.whl
  finding DLL dependencies
  analyzing package-level extension module zmq\backend\cython\_zmq.cp39-win_arm64.pyd

I'm guessing I just need to specify the right --add-path to find the arm64 DLLs, but I don't really know where these things live. Any suggestion on where to look? Should I expect the default search path to be able to find these?

This is on a GitHub Actions windows-2022 runner.

@adang1345
Copy link
Owner

The default search path that delvewheel uses is the PATH environment variable, which I would not expect to include the path to the arm64 DLLs. I think those DLLs would be somewhere under C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Redist\MSVC.

@minrk
Copy link
Author

minrk commented Feb 27, 2024

Thanks! Found them in

C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Redist\MSVC\14.38.33135\arm64\Microsoft.VC143.CRT

I'm not sure of the best way to discover/detect that path, but it seems to work for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants