Skip to content

delocate_archs on macos-15 attempts to link different libraries depending on arch #2121

@Spitfire1900

Description

@Spitfire1900

Description

Working on a PR libgit2/pygit2#1337 for pygit2 to upgrade the macOS wheel builder from 1macos-13 to macos-15 to support building pypy310 wheels for macOS, on macos-15 the following error appears; this issue is not reproduced on macos-13.

   
  + DYLD_LIBRARY_PATH=/Users/runner/work/pygit2/pygit2/ci/lib delocate-wheel --require-archs x86_64,arm64 -w /private/var/folders/1b/_r1lmxr92j54bq1tx8b953mw0000gn/T/cibw-run-tuvqon6s/cp310-macosx_universal2/repaired_wheel /private/var/folders/1b/_r1lmxr92j54bq1tx8b953mw0000gn/T/cibw-run-tuvqon6s/cp310-macosx_universal2/built_wheel/pygit2-1.16.0-cp310-cp310-macosx_10_9_universal2.whl
  Traceback (most recent call last):
    File "/private/var/folders/1b/_r1lmxr92j54bq1tx8b953mw0000gn/T/cibw-run-tuvqon6s/cp310-macosx_universal2/build/venv/bin/delocate-wheel", line 8, in <module>
      sys.exit(main())
    File "/private/var/folders/1b/_r1lmxr92j54bq1tx8b953mw0000gn/T/cibw-run-tuvqon6s/cp310-macosx_universal2/build/venv/lib/python3.10/site-packages/delocate/cmd/delocate_wheel.py", line 116, in main
      copied = delocate_wheel(
    File "/private/var/folders/1b/_r1lmxr92j54bq1tx8b953mw0000gn/T/cibw-run-tuvqon6s/cp310-macosx_universal2/build/venv/lib/python3.10/site-packages/delocate/delocating.py", line 1057, in delocate_wheel
      copied_libs = delocate_path(
    File "/private/var/folders/1b/_r1lmxr92j54bq1tx8b953mw0000gn/T/cibw-run-tuvqon6s/cp310-macosx_universal2/build/venv/lib/python3.10/site-packages/delocate/delocating.py", line 511, in delocate_path
      lib_dict = tree_libs_from_directory(
    File "/private/var/folders/1b/_r1lmxr92j54bq1tx8b953mw0000gn/T/cibw-run-tuvqon6s/cp310-macosx_universal2/build/venv/lib/python3.10/site-packages/delocate/libsana.py", line 377, in tree_libs_from_directory
      return _tree_libs_from_libraries(
    File "/private/var/folders/1b/_r1lmxr92j54bq1tx8b953mw0000gn/T/cibw-run-tuvqon6s/cp310-macosx_universal2/build/venv/lib/python3.10/site-packages/delocate/libsana.py", line 304, in _tree_libs_from_libraries
      for depending_path, install_name in get_dependencies(
    File "/private/var/folders/1b/_r1lmxr92j54bq1tx8b953mw0000gn/T/cibw-run-tuvqon6s/cp310-macosx_universal2/build/venv/lib/python3.10/site-packages/delocate/libsana.py", line 102, in get_dependencies
      for install_name in get_install_names(lib_fname):
    File "/private/var/folders/1b/_r1lmxr92j54bq1tx8b953mw0000gn/T/cibw-run-tuvqon6s/cp310-macosx_universal2/build/venv/lib/python3.10/site-packages/delocate/tools.py", line 559, in get_install_names
      names_data = _check_ignore_archs(_parse_otool_install_names(otool.stdout))
    File "/private/var/folders/1b/_r1lmxr92j54bq1tx8b953mw0000gn/T/cibw-run-tuvqon6s/cp310-macosx_universal2/build/venv/lib/python3.10/site-packages/delocate/tools.py", line 413, in _check_ignore_archs
      raise NotImplementedError(
  NotImplementedError: This function does not support separate values per-architecture: {'x86_64': [('@rpath/libcrypto.3.dylib', '3.0.0', '3.0.0'), ('/usr/lib/libSystem.B.dylib', '1.0.0', '1351.0.0')], 'arm64': [('@rpath/libcrypto.3.dylib', '3.0.0', '3.0.0'), ('/usr/lib/libz.1.dylib', '1.0.0', '1.2.12'), ('/usr/lib/libSystem.B.dylib', '1.0.0', '1351.0.0')]}

this may be a build configuration issue or cibuildwheel bug, but it wasn't obvious how that'd be resolved,

[tool.cibuildwheel.macos.environment]
LDFLAGS = "-L/usr/local/lib -lz"

was insufficient.

Build log

https://github.com/Spitfire1900/pygit2/actions/runs/12614481336

CI config

https://github.com/Spitfire1900/pygit2/actions/runs/12614481336/workflow

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions