-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
REGR: cross-compilation fails for osx-arm64 with meson 1.5.0 #13403
Comments
Would you be able to bisect this by installing different git commits of meson into that feedstock? Nothing obviously jumps out at me as related to this, except maybe c107624 (although that commit does look suspiciously related ;)). |
Thanks for verifying that. @xclaesse as the author of that commit, can you take a look at this? (It is bedtime now so that's all the debugging I will be doing for now.) |
Originally I worried that this would have a huge blast radius for conda-forge (well, for those packages being built by meson at least), as that's one of our main architectures, and we only cross-compile it (due to lack of native agents in azure). I restarted conda-forge/scipy-feedstock#269 1, and to my surprise, this doesn't run into the same issue:
One difference that stands out is conda-forge/scikit-learn-feedstock#270 similarly passes (and sets Footnotes
|
|
@h-vetinari this line is wrong: https://github.com/conda-forge/matplotlib-feedstock/blob/414fc00e6cde964337d84b5234673a647cc22c00/recipe/build_base.sh (both because |
Thanks a lot @rgommers; I fixed the double-execution in conda-forge/matplotlib-feedstock#398 (now just going through meson-python as it should), but the issue persists with 1.5.0, and in fact the same result for the specific commits as above (links to CI logs have been updated below): |
c107624 changed the logic in multiple places, in particular it looks like it was assumed that is_cross is always the same as need_exe_wrapper(), but that's not true. Also the commit only talks about mypy, so this was definitely not intended. This reverts all the cases where need_exe_wrapper() was introduced back to is_cross. The change in backends.py could be a correct simplification, but I don't know the code base enough, so reverting that too. See mesonbuild#13403 and mesonbuild#13410
Here is a potential fix: #13411 |
Thanks a lot @lazka! 🙏 I've tested your PR in conda-forge/matplotlib-feedstock#398 and it works again! 🥳 |
c107624 changed the logic in multiple places, in particular it looks like it was assumed that is_cross is always the same as need_exe_wrapper(), but that's not true. Also the commit only talks about mypy, so this was definitely not intended. This reverts all the cases where need_exe_wrapper() was introduced back to is_cross. The change in backends.py could be a correct simplification, but I don't know the code base enough, so reverting that too. See #13403 and #13410
Is there any approximate timeline for a 1.5.1 release? |
There are two more bugs open on the 1.5.1 milestone, one of them is going to be investigated and hopefully fixed tomorrow. I'd like to get either or both of them fixed in the next couple of days, then release 1.5.1. |
c107624 changed the logic in multiple places, in particular it looks like it was assumed that is_cross is always the same as need_exe_wrapper(), but that's not true. Also the commit only talks about mypy, so this was definitely not intended. This reverts all the cases where need_exe_wrapper() was introduced back to is_cross. The change in backends.py could be a correct simplification, but I don't know the code base enough, so reverting that too. See #13403 and #13410 (cherry picked from commit d9e2dd6)
@h-vetinari 1.5.1 is out |
I saw, thanks a lot for everyone's effort! |
Describe the bug
A previously (with meson 1.4.2) working build for osx-arm64 broke with the release of meson 1.5.0, apparently trying to run
sanitycheckc_cross.exe
with a wrong architectureNote that we're cross-compiling three different architectures (the other two being
linux-aarch64
andlinux-ppc64le
, both compiled fromlinux-64
), andosx-arm64
is the only one that broke.More specifically, the cleaned-up build invocation looks as follows
and the contents of
meson_cross_file.txt
are:To Reproduce
Build the recipe in https://github.com/conda-forge/matplotlib-feedstock
Reverting back to
meson <1.5
causes the build to succeed.Expected behavior
Build succeeds
system parameters
meson --version
ninja --version
if it's a Ninja buildThe text was updated successfully, but these errors were encountered: