Skip to content
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

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

Open
Spitfire1900 opened this issue Jan 4, 2025 · 0 comments

Comments

@Spitfire1900
Copy link

Spitfire1900 commented Jan 4, 2025

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

@Spitfire1900 Spitfire1900 changed the title delocate_archs on on macos-15 attempts to link different libraries depending on arch delocate_archs on macos-15 attempts to link different libraries depending on arch Jan 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant