-
Notifications
You must be signed in to change notification settings - Fork 87
Add support for python.org builds targeting osx 10.9 #224
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
3115ebb
to
27dc9a4
Compare
Yes, the test is broken. It runs the script but doesn't check its result.
If this is true, it looks like
See https://github.com/matthew-brett/multibuild/blob/devel/configure_build.sh#L19 . |
please note, i added another commit to build for 64-bit only for 10.9-based pythons, with a new function |
1e4c171
to
141880c
Compare
OK, i have built Also i did the following tests on my local system
Thats all the testing I was planning to do for this PR |
@radarhere - I'm slammed at the moment - can I leave you to merge this if you are happy? |
Co-Authored-By: robbuckley <[email protected]>
Co-Authored-By: robbuckley <[email protected]>
4be8e5d
to
78021f1
Compare
i've addressed all comments (i think). There's another issue i've noticed, and have a fix for: the arch flags for pypy wheels will be set according to the |
I would add it to this PR |
Co-Authored-By: robbuckley <[email protected]>
Co-Authored-By: robbuckley <[email protected]>
fixup comments
Co-Authored-By: robbuckley <[email protected]>
i've built |
is there anything more you'd like me to do on this, @radarhere , @matthew-brett ? Im quite keen to get this merged and released as I'd like to use it in an MR for the next |
@radarhere - I'm happy when you're happy. |
Great - thanks both for all your work on this.
|
thanks both for bearing with me on this PR! Does it need a release (i suppose that means a merge of devel>master) before I can use it for production? |
You don't need devel to be merged into master. https://github.com/matthew-brett/multibuild/blob/devel/README.rst
If you're talking about the use of multibuild in https://github.com/MacPython/pandas-wheels, then provided they don't mind going with a commit from the devel branch instead of master, you just need to go into the submodule, check out the relevant commit, go back into the base repository, and create a PR out of the change. To potentially save you some time though, here's a PR and/or commit that you can use if you want - https://github.com/MacPython/pandas-wheels/compare/master...radarhere:cpython-10.9?expand=1 |
thanks |
Yes, youre right. Similar considerations apply to the targetted minimum macOS version set by
That would be consistent with If you do change this, then really the wheel tags should be fixed to be consistent with the arches built. That could be done by reinstating some logic based on BTW i can see my changes broke things for some other users (eg https://github.com/matthew-brett/multibuild/pull/242). I'd like to help, e.g. by adding test coverage for breakages, even if they are now fixed. So if there's anything else you can point me towards, please let me know. |
It turned out your changes causes trouble only because of the PLAT issue - i.e. I thought PLAT was the PLAT set in The most common use-case for PLAT differing from the implied platform, from the Python installation, is building Any interest in dropping some documentation of PLAT etc into the README, though? |
Yes, Im happy to add to the docs. So do you want to add the ability for the user to override pls confirm and I'll open an issue to remind me to update the docs. The problem with conversing on a closed PR is that the only notification from github is by email when a new comment is added - it doesnt appear on my dashboard at all. So Im always afraid I'll miss something |
as mentioned in MacPython/pandas-wheels#37, I've extended the osx parts of multibuild to allow building wheels using 10.9-based pythons from python.org, as well as the default 10.6. I've built wheels on travis for
pandas
using my fork, and they seem to install OK on my local system (10.14) with a range of pythons (2.7.10 / maxosx-10.14-intel, 3.7.2 / macosx-10.6-intel, 3.6.7 / maxosc-10.7-x86_64, 3.7.1 / macosx-10.9-x86_64)My implementation adds a new environment variable
MB_PYTHON_OSX_VER
, to be defined in the end user's.travis.yml
. It can determines the mac osx version of the python downloaded from python.org to build the wheel, for example:If not present, it defaults to 10.6, as before. Wheels built using 10.9-based [64b] python are tagged with
macosx_10_9_x86_64.macosx_10_10_x86_64
platforms, those built with 10.6-based [32/64b] pythons are tagged as before withmacosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64
I have come across a few issues which i cant explain. I don't know how important they are:
tests/test_supported_wheels.sh
doesn't seem to be able to fail - i discovered this when I broke the wheel format during testing.otool
, i can see that libs in pandas wheels that I've built using the python.org 10.9-based pythons are fat 32/64b. I was expecting the libs to be 64b only. The wheel when first built is tagged as i expected withmacosx_10_9_x86_64
, it just that the binaries seem to be been compiled as dual-arch