Closed RefuX closed 8 months ago
Thanks for bringing this up. We'll try to fix this asap.
I don't have an M1 macbook to test on directly. I'll see if there's a cloud provider I can try to use to test, or if I can replicate the problem on a Raspberry Pi or something.
We do have CI for MacOS, but I guess it's x86 only. Maybe there is a way to add MacOS ARM support?
I have an M1 air I can test on. I think GitHub released Apple M1/2 runners this year too so I can add these to the CI also
We can probably just replace the x86_64 CI builds with ARM.
I've started an AWS M2 instance and I'm working the problem. Hopefully I can find a solution that won't require upstream changes.
One possibility would be simply use CMake ARCH detection and preprocessor macros to exclude the ASTC encoder on ARM based macs, since they support ASTC natively and don't need to do the decoding.
Honestly that may be the shortest path to resolving this issue.
Taking a look also. In terms of the CICD I think we just need to add macos-14 and we have Apple Silicon
@tomadamatkinson I've pushed a (likely) fix PR and cherry-picked your CI changes into it. This changed allowed me to build on the EC2 M2 instance after having the same link error described in the issue.
The commit you took wont work. You may need to remove your current commit and cherry pick again.
As the runners are in beta it looks like they have limited availability. They seem to take a while to provision https://github.com/KhronosGroup/Vulkan-Samples/actions/runs/8209479230?pr=969
Might be worth only running the Apple silicon task on main because of this
Looks like macos-latest will be moved to macos-14 later in the year https://github.blog/changelog/2024-01-30-github-actions-macos-14-sonoma-is-now-available/
I've removed your CI commit and also added a comment to my change that points to the upstream bug, so the logic can be removed when it's fixed. Cheers.
As the runners are in beta it looks like they have limited availability. They seem to take a while to provision
Yeah, testing this required allocating an AWS dedicated host for at least 24 hours just so I could run an instance. Not a lot of call for cloud based ARM macs I guess, but unfortunately that's the only place where this bug would happen (on investigation I realized I wouldn't have had a problem on any arm64 arch EXCEPT Apple, because this hinges on the CMake OSX_ARCHITECTURES
property of targets).
Sounds good we can merge yours first and I can leave the Arm runner PR open for feedback. The CI looks to be working now but I think there are some considerations around the provisioning aspect
System OS: macOS 14.4 CPU: Apple M1
Issue I cloned the repo and on running the command
cmake --build build/mac --config Release --target vulkan_samples -j4
the linking failed with the below errors:Workaround (for a fresh install) My workout was to simply checkout the previous commit, thus avoiding the astc update.
git clone https://github.com/KhronosGroup/Vulkan-Samples.git
git checkout 5f86b120c45c4146f78faa98eb4a370f382837f1
git submodule update --init --recursive