-
Notifications
You must be signed in to change notification settings - Fork 69
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
Document that Meson and thus meson-python require MSVC compilers to be found in $PATH
#224
Comments
|
I've looked into updating the action to run the native pwsh backend on Windows. Unfortunately, it seems powershell doesn't like empty args, that is, |
Here's the run if you are curious: https://github.com/pybind/scikit_build_example/actions/runs/3519251284/jobs/5899006227
The run line looks correct:
But powershell seems to be muddling it somehow since argparse reports is has no argument for If there's some powershell trickery to avoid printing the option if the variable is empty, I'd be happy to hear it. :) Edit: Doubling quotes. Hmm, okay. |
Got it working, made pypa/cibuildwheel#1346. |
Isn't that bugging behavior, though? Here, https://github.com/mesonbuild/meson/blob/master/mesonbuild/compilers/detect.py#L56, it says that meson should prefer cl.exe before other compilers. It would be inconsistent for meson, to only prefer cl.exe if it was in the path? Interestingly enough, if nothing is in the PATH, meson is somehow able to find MSVC. |
$PATH
$PATH
Closes mesonbuild#197, mesonbuild#230, mesonbuild#253, and mesonbuild#264 Sets us up to fix mesonbuild#138, mesonbuild#233, and mesonbuild#224 Signed-off-by: Filipe Laíns <lains@riseup.net>
Closes mesonbuild#197, mesonbuild#230, mesonbuild#253, and mesonbuild#264 Sets us up to fix mesonbuild#138, mesonbuild#233, and mesonbuild#224 Signed-off-by: Filipe Laíns <lains@riseup.net>
Closes mesonbuild#197, mesonbuild#230, mesonbuild#253, and mesonbuild#264 Sets us up to fix mesonbuild#138, mesonbuild#233, and mesonbuild#224 Signed-off-by: Filipe Laíns <lains@riseup.net>
Closes mesonbuild#197, mesonbuild#230, mesonbuild#253, and mesonbuild#264 Sets us up to fix mesonbuild#138, mesonbuild#233, and mesonbuild#224 Signed-off-by: Filipe Laíns <lains@riseup.net>
Closes mesonbuild#197, mesonbuild#230, mesonbuild#253, and mesonbuild#264 Sets us up to fix mesonbuild#138, mesonbuild#233, and mesonbuild#224 Signed-off-by: Filipe Laíns <lains@riseup.net>
Closes mesonbuild#197, mesonbuild#230, mesonbuild#253, and mesonbuild#264 Sets us up to fix mesonbuild#138, mesonbuild#233, and mesonbuild#224 Signed-off-by: Filipe Laíns <lains@riseup.net>
Closes mesonbuild#197, mesonbuild#230, mesonbuild#253, and mesonbuild#264 Sets us up to fix mesonbuild#138, mesonbuild#233, and mesonbuild#224 Signed-off-by: Filipe Laíns <lains@riseup.net>
Closes mesonbuild#197, mesonbuild#230, mesonbuild#253, and mesonbuild#264 Sets us up to fix mesonbuild#138, mesonbuild#233, and mesonbuild#224 Signed-off-by: Filipe Laíns <lains@riseup.net>
This was documented in gh-371, so we should be good here. |
setuptools has its magic to find the compilers but Meson does not thus this may come as a surprise especially to people like me that compiles on Windows only on CI jobs. Because many CI environments have images where the GCC compilers are available via MSYS2 or similar, Meson picks up those by default and things break in unexpected ways because the right command line arguments should be passed to these compilers to correctly build Python extensions.
One more related issue is that
cibuildweels
(I don't know how popular but definitely convenient way to build distributable wheels) most prominently way to build wheels in GitHub Actions is using a reusable action that does not play nicely with adding the MSVC compilers in$PATH
. The solution is to usepipx run cibuildwheel
directly. @henryiii can probably fill in the details.All this should be documented somewhere.
The text was updated successfully, but these errors were encountered: