[ruby-dev:47360] [ruby-trunk - Feature #8331] Update config.guess and config.sub for AArch64 (ARM64)

From: "vo.x (Vit Ondruch)" <v.ondruch@...>
Date: 2013-05-21 08:50:33 UTC
List: ruby-dev #47360
Issue #8331 has been updated by vo.x (Vit Ondruch).


Would be nice to have this for Fedora/RHEL. Here is related Fedora bug [1] and ML discussion [2, 3]. Thanks.


[1] https://bugzilla.redhat.com/show_bug.cgi?id=926463
[2] http://lists.fedoraproject.org/pipermail/devel/2013-February/178268.html
[3] http://lists.fedoraproject.org/pipermail/devel/2013-March/180681.html
----------------------------------------
Feature #8331: Update config.guess and config.sub for AArch64 (ARM64)
https://bugs.ruby-lang.org/issues/8331#change-39464

Author: akr (Akira Tanaka)
Status: Open
Priority: Normal
Assignee: 
Category: 
Target version: 


ふと cross compile のやり方を知ってしまって、いろいろと試していると、
AArch64 (ARM64) で configure で失敗することに気がつきました。

  % ruby -v
  ruby 2.1.0dev (2013-04-24 trunk 40443) [x86_64-linux]
  % cd
  % B=$HOME/b
  % mkdir $B
  % cd $B
  % wget http://buildroot.uclibc.org/downloads/buildroot-2013.02.tar.bz2
  % tar xf buildroot-2013.02.tar.bz2
  % cd buildroot-2013.02
  % make menuconfig
     Select "Target Architecture (i386)  --->" and select "AArch64".
     Then select <Exit> and <Yes>.
  % make
  % $B/buildroot-2013.02/output/host/usr/bin/aarch64-linux-gnu-gcc -v
  ...
  Target: aarch64-linux-gnu
  ...
  % cd ..
  % svn co http://svn.ruby-lang.org/repos/ruby/trunk ruby
  % cd ruby
  % svn info|grep Rev:
  Last Changed Rev: 40481
  % autoconf
  % ./configure --host=aarch64-linux-gnu CC=$B/buildroot-2013.02/output/host/usr/bin/aarch64-linux-gnu-gcc
  configure: WARNING: if you wanted to set the --build type, don't use --host.
      If a cross compiler is detected then cross compile mode will be used
  checking build system type... x86_64-unknown-linux-gnu
  checking host system type... Invalid configuration `aarch64-linux-gnu': machine `aarch64' not recognized
  configure: error: /bin/bash tool/config.sub aarch64-linux-gnu failed
  zsh: exit 1     ./configure --host=aarch64-linux-gnu

どうも、config.guess と config.sub を更新する必要があるようです。

  % git clone git://git.savannah.gnu.org/config.git       # http://savannah.gnu.org/projects/config/
  % grep timestamp config/config.guess|head -1
  timestamp='2013-04-24'
  % grep timestamp config/config.sub|head -1  
  timestamp='2013-04-24'
  % cp config/config.guess config/config.sub tool
  % ./configure --host=aarch64-linux-gnu CC=$B/buildroot-2013.02/output/host/usr/bin/aarch64-linux-gnu-gcc
  configure: WARNING: if you wanted to set the --build type, don't use --host.
      If a cross compiler is detected then cross compile mode will be used
  checking build system type... x86_64-unknown-linux-gnu
  checking host system type... aarch64-unknown-linux-gnu
  checking target system type... aarch64-unknown-linux-gnu
  ...
  checking for nroff... /usr/bin/nroff
  .ext/include/aarch64-linux/ruby/config.h updated
  verconf.h updated
  ruby library version = 2.1.0
  configure: creating ./config.status
  config.status: creating GNUmakefile
  config.status: creating Makefile
  config.status: creating ruby-2.1.pc
  % make
  % make install DESTDIR=$B/root

config.guess と config.sub を更新すれば、install まではいきます。
(実行してないのでその先はわかりません)



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

In This Thread