From: clauss.gigantisch@... Date: 2017-05-29T06:25:01+00:00 Subject: [ruby-core:81444] [Ruby trunk Bug#9993] x86_64 linux + i686 os = 32bit ruby, but `RUBY_PLATFORM=x86_64` Issue #9993 has been updated by hugespider (Clauss Gigantisch). I had similar issue ---- Environment info: OS: FreeBSD 10.3 STABLE rvm: version: "rvm 1.29.1 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io/]" updated: "2 months 9 days 18 hours 28 minutes 46 seconds ago" path: "/home/spider/.rvm" autolibs: "[4] Allow RVM to use package manager if found, install missing dependencies, install package manager (only OS X)." ---- ruby: irb(main):001:0> RUBY_PLATFORM => "amd64-freebsd10" RVM: 2.2.4 :001 > RUBY_PLATFORM => "x86_64-freebsd10.3" First seems to be correct and former to be incorrect. 1st is ruby installed from FreeBSD ports and then I run irb. 2nd is ruby installed using rvm and then I run irb. Originally submitted at: https://github.com/rvm/rvm/issues/4037 ---------------------------------------- Bug #9993: x86_64 linux + i686 os = 32bit ruby, but `RUBY_PLATFORM=x86_64` https://bugs.ruby-lang.org/issues/9993#change-65149 * Author: DenKn (Denis Knauf) * Status: Third Party's Issue * Priority: Normal * Assignee: cruby-linux * Target version: * ruby -v: 2.1.2, 2.2.0dev * Backport: ---------------------------------------- Hi, On x86_64 Linux Kernel, but i686 OS (there is no 64-binary file anywhere), this will produce a i686-binary ruby, but RUBY_PLATFORM=x86_64-linux: # ./configure && make Downloading config.guess... Downloading config.sub... checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking target system type... x86_64-unknown-linux-gnu System type is wrong. [...] # ./ruby --disable-all -e 'puts RUBY_PLATFORM' x86_64-linux # file ./ruby ruby: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, not stripped This works fine: # ./configure --with-arch=i686 && make ./configure --with-arch=i686 && make checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking target system type... x86_64-unknown-linux-gnu System type is wrong, too, but: [...] # ./ruby --disable-all -e 'puts RUBY_PLATFORM' i686-linux # file ruby ruby: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, not stripped In config.log i found in both situations this: uname -m = x86_64 `uname -m` prints the kernel system type, not the os system type. It isn't possible to compile a x86_64-binary on this machine, there is no compiler for that. Only for i386. configure:3795: gcc -v >&5 Using built-in specs. Target: i486-linux-gnu -- https://bugs.ruby-lang.org/ Unsubscribe: