[ruby-trunk - Bug #9702] r45488以降、SolarisStudioで ext/readline がコンパイルエラー(readline 6.2使用)

Issue #9702 has been updated by Usaku NAKAMURA.

Backport changed from 2.0.0: REQUIRED, 2.1: REQUIRED to 2.0.0: DONE,
2.1: REQUIRED

backported into ruby_2_0_0 at r45754.


Bug #9702: r45488以降、SolarisStudioで ext/readline がコンパイルエラー(readline
6.2使用)

  • Author: Naohisa G.
  • Status: Closed
  • Priority: Normal
  • Assignee:
  • Category: ext
  • Target version:
  • ruby -v: ruby 2.2.0dev (2014-04-04) [sparc64-solaris2.10]
  • Backport: 2.0.0: DONE, 2.1: REQUIRED

r45488以降、Solarisにて、ext/readline が下記のようにコンパイルエラーになります。コンパイラは
SolarisStudio 12.3 です。
readline 6.2 との組み合わせになります。

(前略)
cd ext/readline && exec make -w V=1 all
make[2]: Entering directory `/XXXXXXXXXX/ext/readline'
cc -I. -I../../.ext/include/sparc64-solaris2.10 -I../.././include 
-I../.././ext/readline -DRUBY_EXTCONF_H=\"extconf.h\" 
-I/usr/local/64/lib/libffi-3.0.10/include -I/usr/local/64/include 
-KPIC  -xO1 -xtarget=sparc64viiplus -m64 -o readline.o -c readline.c
"/usr/local/64/include/readline/rltypedefs.h", line 61: identifier 
redeclared: Function
        current : function(void) returning int
        previous: function() returning int : 
"/usr/local/64/include/readline/rltypedefs.h", line 34
cc: acomp failed for readline.c
make[2]: *** [readline.o] Error 2
make[2]: Leaving directory `/XXXXXXXXXX/ext/readline'
make[1]: *** [ext/readline/all] Error 2
make[1]: Leaving directory `/XXXXXXXXXX'
make: *** [build-ext] Error 2

ext/readline/extconf.rbreadline.have_type("rl_hook_func_t") に、
rl_hook_func_t は存在するはずにもかかわらず、失敗しているのが原因のようです。

extconf.hmkmf.log を添付します。

—Files--------------------------------
extconf.h (1.39 KB)
mkmf.log (73.8 KB)