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

From: "akr (Akira Tanaka)" <akr@...>
Date: 2013-04-26 13:25:15 UTC
List: ruby-dev #47293
Issue #8331 has been reported by akr (Akira Tanaka).

----------------------------------------
Feature #8331: Update config.guess and config.sub for AArch64 (ARM64)
https://bugs.ruby-lang.org/issues/8331

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

Prev Next