Conversation
Author
|
Passing tests are inconclusive here, no macos lanes |
Author
|
I just ran into this on conda-forge/toppra-feedstock#19 Looking forward to the fix! |
psavery
added a commit
to HEXRD/hexrd
that referenced
this pull request
Sep 15, 2026
crossenv 1.6.1 (conda-forge, 2026-09-14) rejects every *-apple-darwin* triple with "Unknown Apple compiler triple", aborting all osx-arm64 cross builds in the MacOSX packaging job. Pin to the previous release until robotpy/crossenv#166 is released on conda-forge. Signed-off-by: Patrick Avery <patrick.avery@kitware.com>
isuruf
reviewed
Sep 15, 2026
isuruf
left a comment
Contributor
There was a problem hiding this comment.
Wouldn't it be better to do something like
offset = next((i for i, c in enumerate(value) if c.isdigit()), None)
Then we can also allow something like macos too. the triple can be x86_64-apple-macos11.0 sometimes
Author
|
Indeed, a new test accompanies it since the 'no macos lane' comment is irrelevant |
Covers darwin, macos and other Apple OS names without a fixed list. Add unit tests for the split and triple cleanup.
MementoRC
force-pushed
the
apple-darwin-triple
branch
from
September 16, 2026 01:14
7b628c5 to
38bda56
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
crossenv 1.6.1 cannot set up a cross-python for any macOS host.
_split_apple_os_versionwhitelists onlyios,tvosandwatchos, so every*-apple-darwin*triple reaches theraise:The unconditional path is
_clean_triple, which calls it for any triple whose vendor isapple, fromfind_compiler_info's-dumpmachinesanity check. That check is only meant to warn ("We won't overcomplicate this, since it's just to generate a warning"), but the call is not guarded, so the exception aborts setup instead.get_uname_info'shost_platformfallback hits the same raise when_PYTHON_HOST_PLATFORMis empty.1.5.0 had no Apple branching here and was unaffected.
With
darwinhandled, the rest of the macOS path already works:host_machinecomes from the triple's CPU field,host_releasefromMACOSX_DEPLOYMENT_TARGET, andsysconfig_platformfrom the existinghost_sys_platform == "darwin"branch. The version returned for macOS is the Darwin kernel version and is not read on that path; stripping it also makes the warning comparison correct, since clang reports the running kernel (x86_64-apple-darwin24.6.0) whileHOST_GNU_TYPEcarries the SDK one (x86_64-apple-darwin13.4.0), and both now reduce tox86_64-apple-darwin.Seen on conda-forge cross-compiling osx-64 from osx-arm64 with crossenv 1.6.1. There is no macOS lane in CI, so this is not covered by the test matrix.
Adjacent, not touched here:
MACOSX_DEPLOYMENT_TARGETmajors other than 10 and 11 raise a few lines further down, which would break a 12.0+ target.