ruby-core@ruby-lang.org archive (unofficial mirror)
 help / color / mirror / Atom feed
* [ruby-core:99097] [Ruby master Bug#17021] "arm64" and "arm" are mixed in RbConfig on Apple silicon
@ 2020-07-09 11:57 watson1978
  2020-08-03 19:56 ` [ruby-core:99465] " larskanis
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: watson1978 @ 2020-07-09 11:57 UTC (permalink / raw)
  To: ruby-core

Issue #17021 has been reported by watson1978 (Shizuo Fujita).

----------------------------------------
Bug #17021: "arm64" and "arm" are mixed in RbConfig on Apple silicon
https://bugs.ruby-lang.org/issues/17021

* Author: watson1978 (Shizuo Fujita)
* Status: Open
* Priority: Normal
* ruby -v: ruby 2.8.0dev (2020-07-09T09:14:53Z master addbb7d16e) [arm64-darwin20]
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN
----------------------------------------
When I checked the value of `RbConfig::CONFIG` on the Apple silicon macOS,e I found "arm64" and "arm" are mixed as following.


```
$ ruby -v
ruby 2.8.0dev (2020-07-09T09:14:53Z master addbb7d16e) [arm64-darwin20]

$ ruby -e 'require "rbconfig"; pp RbConfig::CONFIG' | grep "arm"
  "/Users/watson/.rbenv/versions/2.8.0/include/ruby-2.8.0/vendor_ruby/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/include/ruby-2.8.0/site_ruby/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/include/ruby-2.8.0/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/vendor_ruby/2.8.0/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/site_ruby/2.8.0/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/2.8.0/arm64-darwin20",
 "sitearch"=>"arm64-darwin20",
 "arch"=>"arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/include/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/include/arm64-darwin20",
 "sitearchlibdir"=>"/Users/watson/.rbenv/versions/2.8.0/lib/arm64-darwin20",
 "archlibdir"=>"/Users/watson/.rbenv/versions/2.8.0/lib/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/arm64-darwin20",
  "Target: arm64-apple-darwin20.0.0\n" +
 "target_cpu"=>"arm64",
 "target"=>"arm64-apple-darwin20",
 "host_cpu"=>"arm",
 "host"=>"arm-apple-darwin20.0.0",
 "build_cpu"=>"arm",
 "build"=>"arm-apple-darwin20.0.0",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/2.8.0/arm64-darwin20",
 "topdir"=>"/Users/watson/.rbenv/versions/2.8.0/lib/ruby/2.8.0/arm64-darwin20"}
 ```
 
"target_cpu" indicates "arm64", however, "host_cpu" has "arm"...
 
I'd like to know whether this behavior is the right thing.




-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [ruby-core:99465] [Ruby master Bug#17021] "arm64" and "arm" are mixed in RbConfig on Apple silicon
  2020-07-09 11:57 [ruby-core:99097] [Ruby master Bug#17021] "arm64" and "arm" are mixed in RbConfig on Apple silicon watson1978
@ 2020-08-03 19:56 ` larskanis
  2020-11-17 10:20 ` [ruby-core:100892] " eregontp
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: larskanis @ 2020-08-03 19:56 UTC (permalink / raw)
  To: ruby-core

Issue #17021 has been updated by larskanis (Lars Kanis).


IMHO, "host_cpu" should have "arm64". "arm" looks like a bug to me. Would be nice to get this resolved, since it blocks https://github.com/ffi/ffi/pull/801 .

----------------------------------------
Bug #17021: "arm64" and "arm" are mixed in RbConfig on Apple silicon
https://bugs.ruby-lang.org/issues/17021#change-86922

* Author: watson1978 (Shizuo Fujita)
* Status: Open
* Priority: Normal
* ruby -v: ruby 2.8.0dev (2020-07-09T09:14:53Z master addbb7d16e) [arm64-darwin20]
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN
----------------------------------------
When I checked the value of `RbConfig::CONFIG` on the Apple silicon macOS,e I found "arm64" and "arm" are mixed as following.


```
$ ruby -v
ruby 2.8.0dev (2020-07-09T09:14:53Z master addbb7d16e) [arm64-darwin20]

$ ruby -e 'require "rbconfig"; pp RbConfig::CONFIG' | grep "arm"
  "/Users/watson/.rbenv/versions/2.8.0/include/ruby-2.8.0/vendor_ruby/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/include/ruby-2.8.0/site_ruby/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/include/ruby-2.8.0/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/vendor_ruby/2.8.0/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/site_ruby/2.8.0/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/2.8.0/arm64-darwin20",
 "sitearch"=>"arm64-darwin20",
 "arch"=>"arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/include/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/include/arm64-darwin20",
 "sitearchlibdir"=>"/Users/watson/.rbenv/versions/2.8.0/lib/arm64-darwin20",
 "archlibdir"=>"/Users/watson/.rbenv/versions/2.8.0/lib/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/arm64-darwin20",
  "Target: arm64-apple-darwin20.0.0\n" +
 "target_cpu"=>"arm64",
 "target"=>"arm64-apple-darwin20",
 "host_cpu"=>"arm",
 "host"=>"arm-apple-darwin20.0.0",
 "build_cpu"=>"arm",
 "build"=>"arm-apple-darwin20.0.0",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/2.8.0/arm64-darwin20",
 "topdir"=>"/Users/watson/.rbenv/versions/2.8.0/lib/ruby/2.8.0/arm64-darwin20"}
 ```
 
"target_cpu" indicates "arm64", however, "host_cpu" has "arm"...
 
I'd like to know whether this behavior is the right thing.




-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [ruby-core:100892] [Ruby master Bug#17021] "arm64" and "arm" are mixed in RbConfig on Apple silicon
  2020-07-09 11:57 [ruby-core:99097] [Ruby master Bug#17021] "arm64" and "arm" are mixed in RbConfig on Apple silicon watson1978
  2020-08-03 19:56 ` [ruby-core:99465] " larskanis
@ 2020-11-17 10:20 ` eregontp
  2020-11-17 12:35 ` [ruby-core:100895] " nobu
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: eregontp @ 2020-11-17 10:20 UTC (permalink / raw)
  To: ruby-core

Issue #17021 has been updated by Eregon (Benoit Daloze).


This seems a clear bug, at least `host_cpu` and `build_cpu`.
`arm` means 32-bit and is already used e.g. on Linux to mean that.

So it should be `arm64` or `aarch64`.

`target_cpu` is already `arm64` interestingly.
@nobu Do you know if we could fix that and how?

----------------------------------------
Bug #17021: "arm64" and "arm" are mixed in RbConfig on Apple silicon
https://bugs.ruby-lang.org/issues/17021#change-88540

* Author: watson1978 (Shizuo Fujita)
* Status: Open
* Priority: Normal
* ruby -v: ruby 2.8.0dev (2020-07-09T09:14:53Z master addbb7d16e) [arm64-darwin20]
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN
----------------------------------------
When I checked the value of `RbConfig::CONFIG` on the Apple silicon macOS,e I found "arm64" and "arm" are mixed as following.


```
$ ruby -v
ruby 2.8.0dev (2020-07-09T09:14:53Z master addbb7d16e) [arm64-darwin20]

$ ruby -e 'require "rbconfig"; pp RbConfig::CONFIG' | grep "arm"
  "/Users/watson/.rbenv/versions/2.8.0/include/ruby-2.8.0/vendor_ruby/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/include/ruby-2.8.0/site_ruby/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/include/ruby-2.8.0/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/vendor_ruby/2.8.0/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/site_ruby/2.8.0/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/2.8.0/arm64-darwin20",
 "sitearch"=>"arm64-darwin20",
 "arch"=>"arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/include/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/include/arm64-darwin20",
 "sitearchlibdir"=>"/Users/watson/.rbenv/versions/2.8.0/lib/arm64-darwin20",
 "archlibdir"=>"/Users/watson/.rbenv/versions/2.8.0/lib/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/arm64-darwin20",
  "Target: arm64-apple-darwin20.0.0\n" +
 "target_cpu"=>"arm64",
 "target"=>"arm64-apple-darwin20",
 "host_cpu"=>"arm",
 "host"=>"arm-apple-darwin20.0.0",
 "build_cpu"=>"arm",
 "build"=>"arm-apple-darwin20.0.0",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/2.8.0/arm64-darwin20",
 "topdir"=>"/Users/watson/.rbenv/versions/2.8.0/lib/ruby/2.8.0/arm64-darwin20"}
 ```
 
"target_cpu" indicates "arm64", however, "host_cpu" has "arm"...
 
I'd like to know whether this behavior is the right thing.




-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [ruby-core:100895] [Ruby master Bug#17021] "arm64" and "arm" are mixed in RbConfig on Apple silicon
  2020-07-09 11:57 [ruby-core:99097] [Ruby master Bug#17021] "arm64" and "arm" are mixed in RbConfig on Apple silicon watson1978
  2020-08-03 19:56 ` [ruby-core:99465] " larskanis
  2020-11-17 10:20 ` [ruby-core:100892] " eregontp
@ 2020-11-17 12:35 ` nobu
  2020-11-17 12:45 ` [ruby-core:100896] " nobu
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: nobu @ 2020-11-17 12:35 UTC (permalink / raw)
  To: ruby-core

Issue #17021 has been updated by nobu (Nobuyoshi Nakada).


As I have no access to Apple silicon machines, can anyone share config.log file on that platform?

----------------------------------------
Bug #17021: "arm64" and "arm" are mixed in RbConfig on Apple silicon
https://bugs.ruby-lang.org/issues/17021#change-88544

* Author: watson1978 (Shizuo Fujita)
* Status: Open
* Priority: Normal
* ruby -v: ruby 2.8.0dev (2020-07-09T09:14:53Z master addbb7d16e) [arm64-darwin20]
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN
----------------------------------------
When I checked the value of `RbConfig::CONFIG` on the Apple silicon macOS,e I found "arm64" and "arm" are mixed as following.


```
$ ruby -v
ruby 2.8.0dev (2020-07-09T09:14:53Z master addbb7d16e) [arm64-darwin20]

$ ruby -e 'require "rbconfig"; pp RbConfig::CONFIG' | grep "arm"
  "/Users/watson/.rbenv/versions/2.8.0/include/ruby-2.8.0/vendor_ruby/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/include/ruby-2.8.0/site_ruby/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/include/ruby-2.8.0/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/vendor_ruby/2.8.0/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/site_ruby/2.8.0/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/2.8.0/arm64-darwin20",
 "sitearch"=>"arm64-darwin20",
 "arch"=>"arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/include/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/include/arm64-darwin20",
 "sitearchlibdir"=>"/Users/watson/.rbenv/versions/2.8.0/lib/arm64-darwin20",
 "archlibdir"=>"/Users/watson/.rbenv/versions/2.8.0/lib/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/arm64-darwin20",
  "Target: arm64-apple-darwin20.0.0\n" +
 "target_cpu"=>"arm64",
 "target"=>"arm64-apple-darwin20",
 "host_cpu"=>"arm",
 "host"=>"arm-apple-darwin20.0.0",
 "build_cpu"=>"arm",
 "build"=>"arm-apple-darwin20.0.0",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/2.8.0/arm64-darwin20",
 "topdir"=>"/Users/watson/.rbenv/versions/2.8.0/lib/ruby/2.8.0/arm64-darwin20"}
 ```
 
"target_cpu" indicates "arm64", however, "host_cpu" has "arm"...
 
I'd like to know whether this behavior is the right thing.




-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [ruby-core:100896] [Ruby master Bug#17021] "arm64" and "arm" are mixed in RbConfig on Apple silicon
  2020-07-09 11:57 [ruby-core:99097] [Ruby master Bug#17021] "arm64" and "arm" are mixed in RbConfig on Apple silicon watson1978
                   ` (2 preceding siblings ...)
  2020-11-17 12:35 ` [ruby-core:100895] " nobu
@ 2020-11-17 12:45 ` nobu
  2020-11-18  1:14 ` [ruby-core:100927] " nobu
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: nobu @ 2020-11-17 12:45 UTC (permalink / raw)
  To: ruby-core

Issue #17021 has been updated by nobu (Nobuyoshi Nakada).


Maybe, `uname -m` (and tool/config.guess) returns "arm", then `RUBY_UNIVERSAL_ARCH` replaces target_cpu only?

----------------------------------------
Bug #17021: "arm64" and "arm" are mixed in RbConfig on Apple silicon
https://bugs.ruby-lang.org/issues/17021#change-88545

* Author: watson1978 (Shizuo Fujita)
* Status: Open
* Priority: Normal
* ruby -v: ruby 2.8.0dev (2020-07-09T09:14:53Z master addbb7d16e) [arm64-darwin20]
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN
----------------------------------------
When I checked the value of `RbConfig::CONFIG` on the Apple silicon macOS,e I found "arm64" and "arm" are mixed as following.


```
$ ruby -v
ruby 2.8.0dev (2020-07-09T09:14:53Z master addbb7d16e) [arm64-darwin20]

$ ruby -e 'require "rbconfig"; pp RbConfig::CONFIG' | grep "arm"
  "/Users/watson/.rbenv/versions/2.8.0/include/ruby-2.8.0/vendor_ruby/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/include/ruby-2.8.0/site_ruby/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/include/ruby-2.8.0/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/vendor_ruby/2.8.0/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/site_ruby/2.8.0/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/2.8.0/arm64-darwin20",
 "sitearch"=>"arm64-darwin20",
 "arch"=>"arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/include/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/include/arm64-darwin20",
 "sitearchlibdir"=>"/Users/watson/.rbenv/versions/2.8.0/lib/arm64-darwin20",
 "archlibdir"=>"/Users/watson/.rbenv/versions/2.8.0/lib/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/arm64-darwin20",
  "Target: arm64-apple-darwin20.0.0\n" +
 "target_cpu"=>"arm64",
 "target"=>"arm64-apple-darwin20",
 "host_cpu"=>"arm",
 "host"=>"arm-apple-darwin20.0.0",
 "build_cpu"=>"arm",
 "build"=>"arm-apple-darwin20.0.0",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/2.8.0/arm64-darwin20",
 "topdir"=>"/Users/watson/.rbenv/versions/2.8.0/lib/ruby/2.8.0/arm64-darwin20"}
 ```
 
"target_cpu" indicates "arm64", however, "host_cpu" has "arm"...
 
I'd like to know whether this behavior is the right thing.




-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [ruby-core:100927] [Ruby master Bug#17021] "arm64" and "arm" are mixed in RbConfig on Apple silicon
  2020-07-09 11:57 [ruby-core:99097] [Ruby master Bug#17021] "arm64" and "arm" are mixed in RbConfig on Apple silicon watson1978
                   ` (3 preceding siblings ...)
  2020-11-17 12:45 ` [ruby-core:100896] " nobu
@ 2020-11-18  1:14 ` nobu
  2020-11-19 18:51 ` [ruby-core:100947] " eregontp
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: nobu @ 2020-11-18  1:14 UTC (permalink / raw)
  To: ruby-core

Issue #17021 has been updated by nobu (Nobuyoshi Nakada).


I heard that config.guess claims it "arm", while `uname -m` reports "arm64".

First of all, $host_cpu and others are used only for cross-compilers and nonsense in the other cases.
Why do they matter?

----------------------------------------
Bug #17021: "arm64" and "arm" are mixed in RbConfig on Apple silicon
https://bugs.ruby-lang.org/issues/17021#change-88577

* Author: watson1978 (Shizuo Fujita)
* Status: Open
* Priority: Normal
* ruby -v: ruby 2.8.0dev (2020-07-09T09:14:53Z master addbb7d16e) [arm64-darwin20]
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN
----------------------------------------
When I checked the value of `RbConfig::CONFIG` on the Apple silicon macOS,e I found "arm64" and "arm" are mixed as following.


```
$ ruby -v
ruby 2.8.0dev (2020-07-09T09:14:53Z master addbb7d16e) [arm64-darwin20]

$ ruby -e 'require "rbconfig"; pp RbConfig::CONFIG' | grep "arm"
  "/Users/watson/.rbenv/versions/2.8.0/include/ruby-2.8.0/vendor_ruby/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/include/ruby-2.8.0/site_ruby/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/include/ruby-2.8.0/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/vendor_ruby/2.8.0/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/site_ruby/2.8.0/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/2.8.0/arm64-darwin20",
 "sitearch"=>"arm64-darwin20",
 "arch"=>"arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/include/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/include/arm64-darwin20",
 "sitearchlibdir"=>"/Users/watson/.rbenv/versions/2.8.0/lib/arm64-darwin20",
 "archlibdir"=>"/Users/watson/.rbenv/versions/2.8.0/lib/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/arm64-darwin20",
  "Target: arm64-apple-darwin20.0.0\n" +
 "target_cpu"=>"arm64",
 "target"=>"arm64-apple-darwin20",
 "host_cpu"=>"arm",
 "host"=>"arm-apple-darwin20.0.0",
 "build_cpu"=>"arm",
 "build"=>"arm-apple-darwin20.0.0",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/2.8.0/arm64-darwin20",
 "topdir"=>"/Users/watson/.rbenv/versions/2.8.0/lib/ruby/2.8.0/arm64-darwin20"}
 ```
 
"target_cpu" indicates "arm64", however, "host_cpu" has "arm"...
 
I'd like to know whether this behavior is the right thing.




-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [ruby-core:100947] [Ruby master Bug#17021] "arm64" and "arm" are mixed in RbConfig on Apple silicon
  2020-07-09 11:57 [ruby-core:99097] [Ruby master Bug#17021] "arm64" and "arm" are mixed in RbConfig on Apple silicon watson1978
                   ` (4 preceding siblings ...)
  2020-11-18  1:14 ` [ruby-core:100927] " nobu
@ 2020-11-19 18:51 ` eregontp
  2020-11-21 13:36 ` [ruby-core:101007] " nobu
  2021-05-22  6:56 ` [ruby-core:103968] " nagachika00
  7 siblings, 0 replies; 9+ messages in thread
From: eregontp @ 2020-11-19 18:51 UTC (permalink / raw)
  To: ruby-core

Issue #17021 has been updated by Eregon (Benoit Daloze).


nobu (Nobuyoshi Nakada) wrote in #note-5:
> First of all, `$host_cpu` and others are used only for cross-compilers and nonsense in the other cases.
> Why do they matter?

I think RbConfig `host_*` values should be correct no matter whether cross-compiling or not.

Notably, `RbConfig::CONFIG["host_os"]` is well known as the portable way to get the OS.
So it follows that `RbConfig::CONFIG["host_cpu"]` would be the portable way to get the processor architecture.
Both are used here: https://github.com/ffi/ffi/blob/fbe2cf851f426cc55b3b76eca7b10e37aa220b47/lib/ffi/platform.rb

Should another RbConfig::CONFIG key be used? Which one?

----------------------------------------
Bug #17021: "arm64" and "arm" are mixed in RbConfig on Apple silicon
https://bugs.ruby-lang.org/issues/17021#change-88602

* Author: watson1978 (Shizuo Fujita)
* Status: Open
* Priority: Normal
* ruby -v: ruby 2.8.0dev (2020-07-09T09:14:53Z master addbb7d16e) [arm64-darwin20]
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN
----------------------------------------
When I checked the value of `RbConfig::CONFIG` on the Apple silicon macOS,e I found "arm64" and "arm" are mixed as following.


```
$ ruby -v
ruby 2.8.0dev (2020-07-09T09:14:53Z master addbb7d16e) [arm64-darwin20]

$ ruby -e 'require "rbconfig"; pp RbConfig::CONFIG' | grep "arm"
  "/Users/watson/.rbenv/versions/2.8.0/include/ruby-2.8.0/vendor_ruby/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/include/ruby-2.8.0/site_ruby/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/include/ruby-2.8.0/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/vendor_ruby/2.8.0/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/site_ruby/2.8.0/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/2.8.0/arm64-darwin20",
 "sitearch"=>"arm64-darwin20",
 "arch"=>"arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/include/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/include/arm64-darwin20",
 "sitearchlibdir"=>"/Users/watson/.rbenv/versions/2.8.0/lib/arm64-darwin20",
 "archlibdir"=>"/Users/watson/.rbenv/versions/2.8.0/lib/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/arm64-darwin20",
  "Target: arm64-apple-darwin20.0.0\n" +
 "target_cpu"=>"arm64",
 "target"=>"arm64-apple-darwin20",
 "host_cpu"=>"arm",
 "host"=>"arm-apple-darwin20.0.0",
 "build_cpu"=>"arm",
 "build"=>"arm-apple-darwin20.0.0",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/2.8.0/arm64-darwin20",
 "topdir"=>"/Users/watson/.rbenv/versions/2.8.0/lib/ruby/2.8.0/arm64-darwin20"}
 ```
 
"target_cpu" indicates "arm64", however, "host_cpu" has "arm"...
 
I'd like to know whether this behavior is the right thing.




-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [ruby-core:101007] [Ruby master Bug#17021] "arm64" and "arm" are mixed in RbConfig on Apple silicon
  2020-07-09 11:57 [ruby-core:99097] [Ruby master Bug#17021] "arm64" and "arm" are mixed in RbConfig on Apple silicon watson1978
                   ` (5 preceding siblings ...)
  2020-11-19 18:51 ` [ruby-core:100947] " eregontp
@ 2020-11-21 13:36 ` nobu
  2021-05-22  6:56 ` [ruby-core:103968] " nagachika00
  7 siblings, 0 replies; 9+ messages in thread
From: nobu @ 2020-11-21 13:36 UTC (permalink / raw)
  To: ruby-core

Issue #17021 has been updated by nobu (Nobuyoshi Nakada).


Eregon (Benoit Daloze) wrote in #note-7:
> Should another RbConfig::CONFIG key be used? Which one?

Usually we use target_* instead.

----------------------------------------
Bug #17021: "arm64" and "arm" are mixed in RbConfig on Apple silicon
https://bugs.ruby-lang.org/issues/17021#change-88676

* Author: watson1978 (Shizuo Fujita)
* Status: Open
* Priority: Normal
* ruby -v: ruby 2.8.0dev (2020-07-09T09:14:53Z master addbb7d16e) [arm64-darwin20]
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN
----------------------------------------
When I checked the value of `RbConfig::CONFIG` on the Apple silicon macOS,e I found "arm64" and "arm" are mixed as following.


```
$ ruby -v
ruby 2.8.0dev (2020-07-09T09:14:53Z master addbb7d16e) [arm64-darwin20]

$ ruby -e 'require "rbconfig"; pp RbConfig::CONFIG' | grep "arm"
  "/Users/watson/.rbenv/versions/2.8.0/include/ruby-2.8.0/vendor_ruby/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/include/ruby-2.8.0/site_ruby/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/include/ruby-2.8.0/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/vendor_ruby/2.8.0/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/site_ruby/2.8.0/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/2.8.0/arm64-darwin20",
 "sitearch"=>"arm64-darwin20",
 "arch"=>"arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/include/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/include/arm64-darwin20",
 "sitearchlibdir"=>"/Users/watson/.rbenv/versions/2.8.0/lib/arm64-darwin20",
 "archlibdir"=>"/Users/watson/.rbenv/versions/2.8.0/lib/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/arm64-darwin20",
  "Target: arm64-apple-darwin20.0.0\n" +
 "target_cpu"=>"arm64",
 "target"=>"arm64-apple-darwin20",
 "host_cpu"=>"arm",
 "host"=>"arm-apple-darwin20.0.0",
 "build_cpu"=>"arm",
 "build"=>"arm-apple-darwin20.0.0",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/2.8.0/arm64-darwin20",
 "topdir"=>"/Users/watson/.rbenv/versions/2.8.0/lib/ruby/2.8.0/arm64-darwin20"}
 ```
 
"target_cpu" indicates "arm64", however, "host_cpu" has "arm"...
 
I'd like to know whether this behavior is the right thing.




-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [ruby-core:103968] [Ruby master Bug#17021] "arm64" and "arm" are mixed in RbConfig on Apple silicon
  2020-07-09 11:57 [ruby-core:99097] [Ruby master Bug#17021] "arm64" and "arm" are mixed in RbConfig on Apple silicon watson1978
                   ` (6 preceding siblings ...)
  2020-11-21 13:36 ` [ruby-core:101007] " nobu
@ 2021-05-22  6:56 ` nagachika00
  7 siblings, 0 replies; 9+ messages in thread
From: nagachika00 @ 2021-05-22  6:56 UTC (permalink / raw)
  To: ruby-core

Issue #17021 has been updated by nagachika (Tomoyuki Chikanaga).

Backport changed from 2.5: REQUIRED, 2.6: REQUIRED, 2.7: REQUIRED, 3.0: REQUIRED to 2.5: REQUIRED, 2.6: REQUIRED, 2.7: REQUIRED, 3.0: DONTNEED

43a9a974e276dc49b03ec81ccace0adb534a3d20 is included in ruby_3_0 branch.

----------------------------------------
Bug #17021: "arm64" and "arm" are mixed in RbConfig on Apple silicon
https://bugs.ruby-lang.org/issues/17021#change-92101

* Author: watson1978 (Shizuo Fujita)
* Status: Closed
* Priority: Normal
* ruby -v: ruby 2.8.0dev (2020-07-09T09:14:53Z master addbb7d16e) [arm64-darwin20]
* Backport: 2.5: REQUIRED, 2.6: REQUIRED, 2.7: REQUIRED, 3.0: DONTNEED
----------------------------------------
When I checked the value of `RbConfig::CONFIG` on the Apple silicon macOS,e I found "arm64" and "arm" are mixed as following.


```
$ ruby -v
ruby 2.8.0dev (2020-07-09T09:14:53Z master addbb7d16e) [arm64-darwin20]

$ ruby -e 'require "rbconfig"; pp RbConfig::CONFIG' | grep "arm"
  "/Users/watson/.rbenv/versions/2.8.0/include/ruby-2.8.0/vendor_ruby/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/include/ruby-2.8.0/site_ruby/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/include/ruby-2.8.0/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/vendor_ruby/2.8.0/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/site_ruby/2.8.0/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/2.8.0/arm64-darwin20",
 "sitearch"=>"arm64-darwin20",
 "arch"=>"arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/include/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/include/arm64-darwin20",
 "sitearchlibdir"=>"/Users/watson/.rbenv/versions/2.8.0/lib/arm64-darwin20",
 "archlibdir"=>"/Users/watson/.rbenv/versions/2.8.0/lib/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/arm64-darwin20",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/arm64-darwin20",
  "Target: arm64-apple-darwin20.0.0\n" +
 "target_cpu"=>"arm64",
 "target"=>"arm64-apple-darwin20",
 "host_cpu"=>"arm",
 "host"=>"arm-apple-darwin20.0.0",
 "build_cpu"=>"arm",
 "build"=>"arm-apple-darwin20.0.0",
  "/Users/watson/.rbenv/versions/2.8.0/lib/ruby/2.8.0/arm64-darwin20",
 "topdir"=>"/Users/watson/.rbenv/versions/2.8.0/lib/ruby/2.8.0/arm64-darwin20"}
 ```
 
"target_cpu" indicates "arm64", however, "host_cpu" has "arm"...
 
I'd like to know whether this behavior is the right thing.




-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2021-05-22  6:56 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-09 11:57 [ruby-core:99097] [Ruby master Bug#17021] "arm64" and "arm" are mixed in RbConfig on Apple silicon watson1978
2020-08-03 19:56 ` [ruby-core:99465] " larskanis
2020-11-17 10:20 ` [ruby-core:100892] " eregontp
2020-11-17 12:35 ` [ruby-core:100895] " nobu
2020-11-17 12:45 ` [ruby-core:100896] " nobu
2020-11-18  1:14 ` [ruby-core:100927] " nobu
2020-11-19 18:51 ` [ruby-core:100947] " eregontp
2020-11-21 13:36 ` [ruby-core:101007] " nobu
2021-05-22  6:56 ` [ruby-core:103968] " nagachika00

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).