-
-
Notifications
You must be signed in to change notification settings - Fork 415
Improving build error messages when build fails due to missing wheels #2303
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks great; the one missing piece at this point is some extra test code to verify that the helper messages are being included when required.
…ll hints to iOS and macOS build error messages.
Co-authored-by: Russell Keith-Magee <[email protected]>
Co-authored-by: Russell Keith-Magee <[email protected]>
Co-authored-by: Russell Keith-Magee <[email protected]>
Co-authored-by: Russell Keith-Magee <[email protected]>
Co-authored-by: Russell Keith-Magee <[email protected]>
Co-authored-by: Russell Keith-Magee <[email protected]>
8bfc063
to
7d7b6fd
Compare
Apologies for the delay, but I made the changes and added two tests. Not super familiar with pytest so let me know if the tests make sense and/or if they need modification. Also rebased the branch with main. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for that update; two problems noted inline:
- The error message for the macOS case is incorrect, as the
universal_build=False
fix won't work if the initial install fails. If that build fails, the problem is that either wheels for the native platform aren't available, or the minimum macOS version for the app doesn't match the available wheels. - You've added test cases, but you haven't covered all the possible failure modes.
Updated tests to test for each error mode |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome - thanks for those updates!
I've made some cosmetic tweaks to the error message text, but otherwise, this is good to land - Thanks for the PR!
Description of changes
I added more helpful error messages (via the
install_hint
parameter on_pip_install
) whenbuild iOS
andbuild macOS
fail. I also added a newinstall_hint
parameter to_install_app_requirements
per suggestion so that it could be passed in directly instead of having to get passed in viapip_kwargs
.What problem is solved
build macOS
andbuild iOS
commands can sometimes fail because of a single missing wheel for a particular platform's version of a library.Ex. 1 - a project that relies on a version of
numpy
before 1.2.0 won't be able to build on macOS ifuniversal_build=true
because there's no arm64 wheel for numpy versions before 1.2.0.Ex. 2 - accidentally deleting the
iphonesimulator
wheel will causebuild iOS
to fail even ifiphoneos
is present but the error message won't indicate this / will make it sound like both wheels are missing.What issue is this PR related to
Fixes #2230
PR Checklist: