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

OSX CI broke when GitHub changed macos-latest from OSX 12 x64 to OSX 14 arm64 #58

Open
Ben-Meister opened this issue May 3, 2024 · 3 comments

Comments

@Ben-Meister
Copy link

From
https://github.blog/changelog/2024-04-01-macos-14-sonoma-is-generally-available-and-the-latest-macos-runner-image :

Over the next 12 weeks, jobs using the macos-latest runner label will migrate from macOS 12 (Monterey) to macOS 14 (Sonoma)

Additionally, per the Current List of Images (https://github.com/actions/runner-images), macos-latest is pointing to macos-14 which is arm64, not x64.

If I run ci-macos.yml with runs-on: macos-13 (or 12) instead of runs-on: macos-latest it works, which is the quick fix.

But, if I run it on macos-latest aka macos-14:

First it complains that libtool is missing (ref) and when pip3 installs build it refuses to install the package due to it being an "externally-managed-environment" (ref). OK, so I work around it with the following:

- name: Install dependencies
  run: |
    brew install autoconf automake hidapi libzip libtool
    pip3 install --break-system-packages build

But now we get the following when it's time to build:

checking for hidapi/hidapi.h... no
checking for hid_init in -lhidapi... no
configure: error: libhidapi is missing!

And it didn't throw any error when installing hidapi earlier:

==> Pouring hidapi--0.14.0.arm64_sonoma.bottle.tar.gz
🍺  /opt/homebrew/Cellar/hidapi/0.14.0: 19 files, 191.3KB

I have attached logs from the bad runs and a good run for reference.
1-logs_23416837081 Externally Managed Error.zip
2-logs_23417917674 libtool Missing.zip
3-logs_23418156127 libhidapi Missing.zip
logs_23419707015 GOOD OSX 12 run.zip

swt2c added a commit to swt2c/concordance that referenced this issue May 14, 2024
@swt2c
Copy link
Contributor

swt2c commented May 14, 2024

Thanks for your analysis @Ben-Meister. The last piece of the puzzle is that on ARM macs, Homebrew gets installed in /opt/homebrew instead of /usr/local for some reason, and this path is not included in the default include / linker paths, so we have to add it manually.

@swt2c
Copy link
Contributor

swt2c commented May 14, 2024

Fixed by #59.

@Ben-Meister
Copy link
Author

Your fix works for me, thank you for getting to the bottom of this!

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

2 participants