From: ngotogenome@... Date: 2016-01-04T01:32:01+00:00 Subject: [ruby-dev:49468] [Ruby trunk - Bug #11944] [Open] ruby lib version (2.4.0) doesn't match executable version (RUBY_PROGRAM_VERSION_MAJOR.RUBY_PROGRAM_VERSION_MINOR.0) (RuntimeError) Issue #11944 has been reported by Naohisa Goto. ---------------------------------------- Bug #11944: ruby lib version (2.4.0) doesn't match executable version (RUBY_PROGRAM_VERSION_MAJOR.RUBY_PROGRAM_VERSION_MINOR.0) (RuntimeError) https://bugs.ruby-lang.org/issues/11944 * Author: Naohisa Goto * Status: Open * Priority: Normal * Assignee: * ruby -v: - * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN ---------------------------------------- おそらく r53314 以降、Solaris にて古い fcc (Fujitsu C Compiler) にて、 以下のエラーによりビルドに失敗します。 ~~~ ./miniruby -I./lib -I. -I.ext/common ./enc/make_encmake.rb --builtin-encs="enc/ascii.o enc/us_ascii.o enc/unicode.o enc/utf_8.o" --builtin-transes="enc/trans/newline.o" --module enc.mk /XXXXX/rbconfig.rb:9:in `<module:RbConfig>': ruby lib version (2.4.0) doesn't match executable version (RUBY_PROGRAM_VERSION_MAJOR.RUBY_PROGRAM_VERSION_MINOR.0) (RuntimeError) from /XXXXX/rbconfig.rb:7:in `<top (required)>' from /XXXXX/lib/mkmf.rb:6:in `require' from /XXXXX/lib/mkmf.rb:6:in `<top (required)>' from ./enc/make_encmake.rb:8:in `load' from ./enc/make_encmake.rb:8:in `<main>' make: *** [enc.mk] Error 1 ~~~ version.h 内の > #define RUBY_BUILD_VERSION_STR_2(v) STRINGIZE(v##_MAJOR)"."STRINGIZE(v##_MINOR) > #define RUBY_BUILD_VERSION_STR_3(v) RUBY_BUILD_VERSION_STR_2(v)"."STRINGIZE(v##_TEENY) にて文字列を作っていますが、 古いfccでは、トークン結合 ## の後のマクロ展開がおかしいことになっているようです。 RUBY_PROGRAM_VERSION_TEENY は0に展開されているので、マクロ組み合わせ時の問題? (fccのcppのバグ?) -- https://bugs.ruby-lang.org/