Skip to content

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

Open
@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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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