Skip to content
This repository has been archived by the owner on May 3, 2023. It is now read-only.

add mac wheels built for 10.9 / 64b only #46

Merged
merged 4 commits into from
Mar 27, 2019
Merged

Conversation

robbuckley
Copy link
Contributor

@robbuckley robbuckley commented Mar 26, 2019

resolves #42

Since https://github.com/matthew-brett/multibuild/pull/224, setting MB_PYTHON_OSX_VER=10.9 in .travis.yml for osx targets will build for macOS 10.9+. These builds are 64bit only, and are available for Python versions 3.6.5+ / 2.7.15+ see python.org.

The 64/32 bit builds for macOS 10.6+ are supported as before, by setting MB_PYTHON_OSX_VER=10.6 or just omitting it.

The new 10.9 64 bit wheels have a few advantages over 10.6 dual arch wheels:

  • extensions using the c++ api link to libc++ rather than libstdc++, which may not always be available on macOS 10.14 and above (i.e. risk that 10.6 wheels may not run on newer systems). See build failure with Xcode 10 - libstdc++ not supported anymore pandas-dev/pandas#23424
  • faster to build, around 30min vs 48min
  • smaller filesize, typically 10Mb vs 16Mb
  • shorter filename, e.g. pandas-0.24.0-cp37-cp37m-macosx_10_9_x86_64.macosx_10_10_x86_64.whl vs pandas-0.24.0-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl

@jreback
Copy link
Contributor

jreback commented Mar 26, 2019

you tested he built wheels for this?

@robbuckley
Copy link
Contributor Author

I've tested 0.24.0 wheels built from this version of multibuild. I have built todays daily master, will let you know when i've tested the osx wheels, probably tomorrow

@jreback
Copy link
Contributor

jreback commented Mar 26, 2019

great thanks

@robbuckley
Copy link
Contributor Author

I tested the 3.7 / 10.9 wheel from my fork locally. There were 2 failures, I dont think could have been caused by this change (the other fail was very similar):

___________________________________________________ ERROR at setup of test_terminal_unknown_dimensions[] ____________________________________________________
file /Users/robertbuckley/.local/lib/python3.7/site-packages/pandas/tests/io/formats/test_console.py, line 81
  @pytest.mark.parametrize("size", ['', ['']])
  def test_terminal_unknown_dimensions(monkeypatch, size, mocker):
E       fixture 'mocker' not found

can you give me a URL to get the daily wheels from? then i can test the actual wheels built by this PR. Also, any clue for the test failures? thanks

@jreback jreback merged commit 04e3be8 into MacPython:daily Mar 27, 2019
@jreback
Copy link
Contributor

jreback commented Mar 27, 2019

thanks @robbuckley

@jreback
Copy link
Contributor

jreback commented Mar 27, 2019

@robbuckley
Copy link
Contributor Author

Looks like they all built OK. Where can I download the daily wheels from? I’d like to test a couple of them. The racksoace URL in the readme looks like it only has releases in

@@ -45,14 +45,22 @@ matrix:
language: generic
env:
- MB_PYTHON_VERSION=3.5
- MACOSX_DEPLOYMENT_TARGET=10.6 # since pandas PR24274, mac builds default to 10.9
- os: osx
language: generic
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@robbuckley is there a reason this 3.6 job is still here? also the 3.5 wheel doesn't have MB_PYTHON_OSX_VER=10.9 is that ok?

Copy link
Contributor Author

@robbuckley robbuckley Mar 29, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jreback the 3.6 / 10.6 job can go. The 3.5 job is built for 10.6 / dual arch because python.org only provide 10.9 / 64b builds of CPython for 3.6.5 and up, and thats what multibuild uses to build the wheels. So if you need to provide a 3.5 wheel, it will have to be 10.6 / dual arch, with the way multibuild is currently implemented

robbuckley added a commit to robbuckley/pandas-wheels that referenced this pull request Mar 30, 2019
* update multibuild
* add macos 10.9 targets
* move MACOSX_DEPLOYMENT_TARGET override out of travis.yml
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants