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

Issue #9702 has been updated by Nobuyoshi N…

Status changed from Open to Closed
% Done changed from 0 to 100

Applied in changeset r45518.


readline/extconf.rb: rl_hook_func_t

  • ext/readline/extconf.rb (rl_hook_func_t): check pointer type.
    [ruby-dev:48089] [Bug #9702]

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: UNKNOWN, 2.1: UNKNOWN

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.rb の readline.have_type(“rl_hook_func_t”) に、
rl_hook_func_t は存在するはずにもかかわらず、失敗しているのが原因のようです。

extconf.h と mkmf.log を添付します。

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