-
-
Notifications
You must be signed in to change notification settings - Fork 494
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
MacOS workflow: Install harfbuzz normally again #2622
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You may need to add
brew update
brew reinstall harfbuzz
to make sure you're using the newest bottle, instead of the one cached in the GitHub Actions runner image: https://github.com/SuperTux/supertux/actions/runs/6071036504/job/16468259452#step:3:24
The brew reinstall
step shouldn't be needed when the runner image is updated, or when harfbuzz
is bumped to a newer version. However, I do recommend that brew update
be kept, because that makes sure the formula (package) information is up-to-date. (The GitHub runner image explicitly disables auto-update.) At the time of writing, cmake
is already at 3.27.4, while the CI logs still incorrectly suggests that the already-installed cmake
3.27.3 is up to date.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like you've hit another GitHub Actions runner image issue. Before that gets resolved, brew unlink python && brew link --overwrite python
should work around it. (At Homebrew/brew we apply the same workaround: Homebrew/brew@298003b.)
@ZhongRuoyu Still fails with the olink error. Any idea? |
I downloaded the last successful artifact from https://github.com/SuperTux/supertux/actions/runs/6068886641 and had a look at
$ otool -L `brew --prefix sdl2_image`/lib/libSDL2_image.dylib
/usr/local/opt/sdl2_image/lib/libSDL2_image.dylib:
/usr/local/opt/sdl2_image/lib/libSDL2_image-2.0.0.dylib (compatibility version 601.0.0, current version 601.3.0)
@loader_path/../../../../opt/libpng/lib/libpng16.16.dylib (compatibility version 57.0.0, current version 57.0.0)
@loader_path/../../../../opt/jpeg-xl/lib/libjxl.0.8.dylib (compatibility version 0.8.0, current version 0.8.2)
@loader_path/../../../../opt/jpeg-turbo/lib/libjpeg.8.dylib (compatibility version 8.0.0, current version 8.3.2)
@loader_path/../../../../opt/libtiff/lib/libtiff.6.dylib (compatibility version 7.0.0, current version 7.1.0)
@loader_path/../../../../opt/libavif/lib/libavif.16.dylib (compatibility version 16.0.0, current version 16.0.0)
@loader_path/../../../../opt/webp/lib/libwebp.7.dylib (compatibility version 9.0.0, current version 9.7.0)
@loader_path/../../../../opt/sdl2/lib/libSDL2-2.0.0.dylib (compatibility version 2801.0.0, current version 2801.2.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1319.100.3) We've temporarily disabled relocatable install names until we figure out a way to resolve similar issues (mostly with CPack). For now, I have dispatched a rebuild job for |
@tobbi I have rebuilt the affected libraries (that I recognised from the |
Somehow the updated bottle for Sorry for the back and forth! |
Actually, let me perform more tests in a separate supertux fork. I'll let you know when it builds. |
@tobbi That turned out to be an unrelated CPack issue that's been there for a while: https://gitlab.kitware.com/cmake/cmake/-/issues/22557 What happened was: The direct consequence of that was the change in required install names: (Before) $ otool -L /usr/local/opt/sdl2_image/lib/libSDL2_image-2.0.0.dylib
/usr/local/opt/sdl2_image/lib/libSDL2_image-2.0.0.dylib:
/usr/local/opt/sdl2_image/lib/libSDL2_image-2.0.0.dylib (compatibility version 601.0.0, current version 601.3.0)
/usr/local/opt/libpng/lib/libpng16.16.dylib (compatibility version 56.0.0, current version 56.0.0)
/usr/local/opt/jpeg-xl/lib/libjxl.0.8.dylib (compatibility version 0.8.0, current version 0.8.1)
/usr/local/opt/jpeg-turbo/lib/libjpeg.8.dylib (compatibility version 8.0.0, current version 8.2.2)
/usr/local/opt/libtiff/lib/libtiff.6.dylib (compatibility version 7.0.0, current version 7.0.0)
/usr/local/opt/libavif/lib/libavif.15.dylib (compatibility version 15.0.0, current version 15.0.1)
/usr/local/opt/webp/lib/libwebp.7.dylib (compatibility version 9.0.0, current version 9.6.0)
/usr/local/opt/webp/lib/libsharpyuv.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/local/opt/sdl2/lib/libSDL2-2.0.0.dylib (compatibility version 2601.0.0, current version 2601.5.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1292.100.5) (After -- note that $ otool -L /usr/local/opt/sdl2_image/lib/libSDL2_image-2.0.0.dylib
/usr/local/opt/sdl2_image/lib/libSDL2_image-2.0.0.dylib:
/usr/local/opt/sdl2_image/lib/libSDL2_image-2.0.0.dylib (compatibility version 601.0.0, current version 601.3.0)
/usr/local/opt/libpng/lib/libpng16.16.dylib (compatibility version 57.0.0, current version 57.0.0)
/usr/local/opt/jpeg-xl/lib/libjxl.0.8.dylib (compatibility version 0.8.0, current version 0.8.2)
/usr/local/opt/jpeg-turbo/lib/libjpeg.8.dylib (compatibility version 8.0.0, current version 8.3.2)
/usr/local/opt/libtiff/lib/libtiff.6.dylib (compatibility version 7.0.0, current version 7.1.0)
/usr/local/opt/libavif/lib/libavif.16.dylib (compatibility version 16.0.0, current version 16.0.1)
/usr/local/opt/webp/lib/libwebp.7.dylib (compatibility version 9.0.0, current version 9.7.0)
/usr/local/opt/sdl2/lib/libSDL2-2.0.0.dylib (compatibility version 2801.0.0, current version 2801.2.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1292.100.5) This didn't surface before because CPack's otool -L /usr/local/opt/webp/lib/libwebp.7.dylib
/usr/local/opt/webp/lib/libwebp.7.dylib:
/usr/local/opt/webp/lib/libwebp.7.dylib (compatibility version 9.0.0, current version 9.7.0)
@rpath/libsharpyuv.0.dylib (compatibility version 1.0.0, current version 1.1.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1292.100.5) And CPack failed to handle the Before this gets fixed on CMake's side, a workaround would be to run this after
This effectively changes the |
I'm confused: Why did this not surface before actions/runner-images#8078 emerged? |
I made an incorrect claim in my earlier comment about the |
I'm very confused as to where this leaves us. |
All that the As for when this workaround can be removed: probably not until that CPack issue is resolved. One takeaway from the previous CPack failures (for which Homebrew temporarily disabled relocatable install names) is that CPack does not always handle these less-seen cases. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Take this review with a grain of salt, since I do not understand MacOS compilation. However, seems like the workflow finishes, so that's good.
Who really has any idea about Mac OS workflows. Hint: I do not |
To be fair, at least you've used MacOS and have compiled ST on it. I haven't. :D |
Same, I used macOS (Hackintosh Yosemite actually) only once... |
@ZhongRuoyu Thanks for all your help! |
No problem! Glad it worked for you again. |
CMake's `fixup_bundle` does not recognise install names with `@rpath`, so it fails while bundling `libjxl_cms` as `libjxl`'s dependency. Make CMake happy by changing its install name to a full path instead. See also: SuperTux#2622 (comment)
CMake's `fixup_bundle` does not recognise install names with `@rpath`, so it fails while bundling `libjxl_cms` as `libjxl`'s dependency. Make CMake happy by changing its install name to a full path instead. See also: #2622 (comment)
See
https://github.com/orgs/Homebrew/discussions/4735#discussioncomment-6902146