Skip to content

Cothread builds but fails at runtime on MacOS Arm64 platforms #68

Description

@AlexanderWells-diamond

Cothread claims to have support for arm64 architecture, denoted by the switch-arm64.c file. However, as noted in the last commit made, it does not actually work at runtime. During testing of p4p on the new GitHub OsX runners, which are all now arm64, we see a Bus Error:

/Users/runner/work/_temp/28281c48-3576-478b-b140-78e8b699ad51.sh: line 9:  3925 Bus error: 10           python -m nose2 -v p4p

In an ideal world we should fix the ARM64 code to allow use on modern MacOS systems. An alternative is to explicitly fail a compilation on a MacOS ARM platform (but leave it working for e.g. Rasberry Pi, which is the platform this code was originally written for).

Testing either of these fixes should be straightforward by using GitHub's macos-latest runner.

Activity

  1. changed the title [-]Cothread builds but fails on MacOS Arm64 platforms[/-] [+]Cothread builds but fails at runtime on MacOS Arm64 platforms[/+] on Aug 8, 2024
  2. benjaminbolling commented on Jan 7, 2025

    @benjaminbolling

    cothread does not build on my MacOS Arm64.

    • pip3.11 install cothread -> "Requirement already satisfied: cothread in /opt/homebrew/lib/python3.11/site-packages (2.19.1)"

    However, following this, the import fails (runtime failure). If instead:

    • pip3.11 install --force cothread -> the following:
          clang: error: linker command failed with exit code 1 (use -v to see invocation)
          error: command '/usr/bin/clang' failed with exit code 1
          [end of output]
      
      note: This error originates from a subprocess, and is likely not a problem with pip.
      ERROR: Failed building wheel for cothread
    Failed to build cothread
    ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (cothread)
    
    

    It seems to complain as following on some (ld) illegal text-relocation in 'action_entry'+0x14 (../cothread_9b3efff422134250bc70b91cfdda0b17/build/temp.macosx-14.0-arm64-cpython-311/context/switch.o) to 'action_entry'

  3. graeme-winter commented on Sep 14, 2025

    @graeme-winter
    Contributor

    +1 does not build on macOS / arm64

          Illegal text-relocations:
            text-relocation in 'action_entry'+0x14 (/private/var/folders/h9/35fh42mx3j77_2wsj653qw9r0000gn/T/pip-install-1gmsm1jy/cothread_6d5b85dca67f4251b33315afafec68d7/build/temp.macosx-15.0-arm64-cpython-313/context/switch.o) to 'action_entry'
          ld: Found illegal text-relocations
          clang: error: linker command failed with exit code 1 (use -v to see invocation)
          error: command '/usr/bin/clang' failed with exit code 1
          [end of output]

    performing pip3 install cothread on Python 3.13.7

  4. graeme-winter commented on Sep 14, 2025

    @graeme-winter
    Contributor

    Potentially resolved in #76

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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions