-
Notifications
You must be signed in to change notification settings - Fork 29
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
feat: update ruby 3.3 support to use 3.3.0 #112
Conversation
Wonder what happened in https://github.com/rake-compiler/rake-compiler-dock/actions/runs/7321958437/job/19942923219. This looks like some error building Ruby 3.1:
|
Ruby 3.3.0 was released today: https://www.ruby-lang.org/en/news/2023/12/25/ruby-3-3-0-released/
@stanhu Thanks. I'll look into the build. In the meantime: everyone should be able to use 1.4.0.rc2 to build releases that are compatible with ruby-3.0.0 final, since there were no ABI changes announced by naruse. |
I'm actually going to hold off on merging this -- even if it goes green -- until we get the rc2 build green on 3.0.0 CI image, see #113 |
Oh, it looks like a legit failure building Ruby 3.3.0 in arm64-darwin. I can reproduce it locally:
$ docker run -it ghcr.io/rake-compiler/rake-compiler-dock-image:1.4.0.rc2-mri-arm64-darwin bash
root@f283b5c36868:/# touch test.c
root@f283b5c36868:/# aarch64-apple-darwin-clang -march=arm64 -o test test.c
clang: error: the clang compiler does not support '-march=arm64'
root@f283b5c36868:/# aarch64-apple-darwin-clang --print-supported-cpus
clang version 10.0.0-4ubuntu1
Target: aarch64-apple-darwin20.2
Thread model: posix
InstalledDir: /usr/bin
Available CPUs for this target:
apple-a10
apple-a11
apple-a12
apple-a13
apple-a7
apple-a8
apple-a9
apple-latest
apple-s4
apple-s5
cortex-a35
cortex-a53
cortex-a55
cortex-a57
cortex-a65
cortex-a65ae
cortex-a72
cortex-a73
cortex-a75
cortex-a76
cortex-a76ae
cyclone
exynos-m3
exynos-m4
exynos-m5
falkor
generic
kryo
neoverse-e1
neoverse-n1
saphira
thunderx
thunderx2t99
thunderxt81
thunderxt83
thunderxt88
tsv110
Use -mcpu or -mtune to specify the target's processor.
For example, clang --target=aarch64-unknown-linux-gui -mcpu=cortex-a35
root@f283b5c36868:/# aarch64-apple-darwin-clang --version
clang version 10.0.0-4ubuntu1
Target: aarch64-apple-darwin20.2
Thread model: posix
InstalledDir: /usr/bin I'm not sure yet how the older Ruby versions worked before, but I do see that ruby/ruby@2c2c6bc was added between UPDATE: It appears that older versions omitted the |
Even on my native macOS with % clang --print-supported-cpus
Apple clang version 15.0.0 (clang-1500.1.0.2.5)
Target: arm64-apple-darwin23.2.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
Available CPUs for this target:
a64fx
ampere1
apple-a10
apple-a11
apple-a12
apple-a13
apple-a14
apple-a15
apple-a16
apple-a7
apple-a8
apple-a9
apple-latest
apple-m1
apple-m2
apple-s4
apple-s5
carmel
cortex-a34
cortex-a35
cortex-a510
cortex-a53
cortex-a55
cortex-a57
cortex-a65
cortex-a65ae
cortex-a710
cortex-a72
cortex-a73
cortex-a75
cortex-a76
cortex-a76ae
cortex-a77
cortex-a78
cortex-a78c
cortex-r82
cortex-x1
cortex-x1c
cortex-x2
cyclone
exynos-m3
exynos-m4
exynos-m5
falkor
generic
kryo
neoverse-512tvb
neoverse-e1
neoverse-n1
neoverse-n2
neoverse-v1
neoverse-v2
saphira
thunderx
thunderx2t99
thunderx3t110
thunderxt81
thunderxt83
thunderxt88
tsv110
Use -mcpu or -mtune to specify the target's processor.
For example, clang --target=aarch64-unknown-linux-gui -mcpu=cortex-a35 |
Yeah, I confirmed that Ruby 3.3.0 builds if i revert ruby/ruby#9250. It seems that |
Thank you, @stanhu! |
@stanhu When the following PRs all go green (tests all should pass once CI images are available), I think I'm going to cut a 1.4.0 final release of rake-compiler-dock using Ruby 3.3.0-rc1:
The alternatives I can think of are not as pleasant:
Are there other options? WDYT? |
Does that mean that gems will still have to build against ruby/ruby#9364 looks like it fixes the |
@stanhu based on https://rubygems.org/gems/re2/versions/2.6.0.rc1-x86_64-linux which was built with rake-compiler-dock 1.4.0.rc2, I believe the |
OK, for whatever it's worth, rake-compiler-dock, nokogiri, and sqlite3-ruby are all passing on ruby 3.0.0 when precompiling with rcd 1.4.0.rc2 (using ruby 3.0.0-rc1) (with the exception of what seems to be an instance of https://bugs.ruby-lang.org/issues/20085 in https://github.com/sparklemotion/nokogiri/actions/runs/7325933933/job/19985580656#step:4:379) So I'm going to cut a 1.4.0 final, and we can circle back on this PR once there's a ruby patch release with ruby/ruby#9364 |
Going to close this. Ruby 3.3.1 is (reportedly) close to being released, and we can create a new PR at that point since the change is small. |
Ruby 3.3.0 was released today:
https://www.ruby-lang.org/en/news/2023/12/25/ruby-3-3-0-released/