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

mac wheels built for 10.9, but labelled 10.6+ #37

Closed
@robbuckley

Description

@robbuckley

since pandas PR 24274, mac builds target macosx 10.9 by default. The wheel builder installs the 10.6 build of python, and assumes pandas extensions will be built for 10.6. The result is wheels built for 10.9+ which are labelled as 10.6+

For example. running otool -l on pandas/_libs/window.cpython-36m-darwin.so on one of the recent daily builds gives:

Load command 7
      cmd LC_VERSION_MIN_MACOSX
  cmdsize 16
  version 10.9
      sdk 10.13
Load command 8
      cmd LC_SOURCE_VERSION
  cmdsize 16
  version 0.0
Load command 9
          cmd LC_LOAD_DYLIB
      cmdsize 48
         name /usr/lib/libc++.1.dylib (offset 24)
   time stamp 2 Thu Jan  1 01:00:02 1970
      current version 400.9.0
compatibility version 1.0.0

Note LC_VERSION_MIN_MACOSX = 10.9, and the link to libc++, which may not be available on pre-10.9 systems.

An older daily wheel gives:

Load command 7
      cmd LC_VERSION_MIN_MACOSX
  cmdsize 16
  version 10.6
      sdk 10.13
Load command 8
          cmd LC_LOAD_DYLIB
      cmdsize 56
         name /usr/lib/libstdc++.6.dylib (offset 24)
   time stamp 2 Thu Jan  1 01:00:02 1970
      current version 104.1.0
compatibility version 7.0.0

The previous behaviour can be easily restored by setting the env var in the .travis.yml file (PR is coming).

A larger issue is if wheels should also be released which are targetted at 10.9+ (with correct labels). If apple stop including libstdc++ binaries in future macos releases (its been deprecated since 10.9), 10.6 wheels could stop working on new systems. See #23424 for the build version of this issue.

python.org have recently taken to releasing 2 mac builds -- 32/64bit 10.6+ and 64-bit 10.9+. Maybe pandas should go the same way?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions