$
でーびっどさんに聞いてみたところ、gccだけの問題っぽいけど対応が面倒なので、あげてもむだじゃないか、と言っていた。どこかに制限かかれたページないかさがしたところ、http://gcc.gnu.org/onlinedocs/gcc/Interoperation.html にいきあたり、最後の行に$は -fdollars-in-identifiers をつかってもAIXではダメと書いてあるのに試したら使えたので、これを採択する方向。すこし古いgccでも試してみよう。とりあえず次はverconf.hが空になる件を調査予定。先はながい。[追記] "on the RS/6000 "のRS/6000てのがそもそもえらい古い話なのか。
$ in function name
$ make CC = gcc LD = ld LDSHARED = gcc -Wl,-G CFLAGS = -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Werror=pointer-arith -Werror=write-strings -Werror=declaration-after-statement -Werror=implicit-function-declaration -ansi -std=iso9899:199409 XCFLAGS = -D_FORTIFY_SOURCE=2 -fno-strict-overflow -DRUBY_EXPORT -fPIE CPPFLAGS = -I. -I.ext/include/powerpc-aix7.1.0.0 -I../trunk/include -I../trunk DLDFLAGS = -Wl,-bE:ruby.imp -Wl,-brtl -Wl,-blibpath:/home/kanemoto/trunk/lib:/usr/lib:/lib -pie SOLIBS = Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/opt/freeware/libexec/gcc/powerpc-ibm-aix7.1.0.0/4.8.1/lto-wrapper Target: powerpc-ibm-aix7.1.0.0 Configured with: ../gcc-4.8.1/configure --with-as=/usr/bin/as --with-ld=/usr/bin/ld --enable-languages=c,c++,fortran --prefix=/opt/freeware --mandir=/opt/freeware/man --infodir=/opt/freeware/info --enable-version-specific-runtime-libs --disable-nls --enable-decimal-float=dpd --host=powerpc-ibm-aix7.1.0.0 Thread model: aix gcc version 4.8.1 (GCC) compiling ../trunk/main.c In file included from ../trunk/include/ruby.h:33:0, from ../trunk/main.c:13: ../trunk/include/ruby/ruby.h:570:1: error: stray '$' in program int ruby$safe_level$4(void) __attribute__((error("$SAFE=4 is obsolete"))); ^ ../trunk/include/ruby/ruby.h:570:10: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'safe_level' int ruby$safe_level$4(void) __attribute__((error("$SAFE=4 is obsolete"))); ^ ../trunk/include/ruby/ruby.h:570:10: error: stray '$' in program make: *** [main.o] Error 1
さてどうしたものか。
[追記]gcc 4.8から変ったのかと思いきや、gcc on AIXの問題の模様。手元のAIXの4.7.2でおきて、plinuxの4.7.2でおきなかった。
rubyist.netにまでアカウントもらった。
でもCompileFarmにsshの鍵を置くのは新しい鍵をつくるにしても、気分的にありえない。chkbuildからあげるんじゃなくて、CompileFarmにとりにいくようにしよう。その方がいい気がする。以外にやっかいだ。
GCC Compile Farm
というプロジェクト(http://gcc.gnu.org/wiki/CompileFarm)に、いずれAIX on Powerも追加するという話でした。というわけで、わたしの少ない貢献で受けいれてもらえるかわかりませんが、アカウントお願いのメールを打ってみました。すでにrubyで利用されている方がいらっしゃいました。
会社のマシンがあいていたら試せるぐらいの状況だったし、もし会社に切られてしまったらもうAIXさわれないと思っていたので、もしアカウントもらえたらそういう心配がなくなってうれしい。しかし、どこまで面倒をみてもらえるものなんだろうか。依存しているライブラリはどうなるんだろうか。前途多難なのはかわらない。ぜんぜん関係ないけど、libffiにまた最近AIXサポートがリストされていたのがよかった。
そもそもtest最後までいくのか
とか、chkbuildうごかせるのかとか、心配だ。とりあえず手元に環境をつくろう。週末のタスクができた。子供たちは時間をくれるだろうか。
最近AIXのためのpatchをくれていた人
実は中の人だった。ぜんぜん作業できなくてごめんなさい。power7のbuildbotいらんか?と私信で言ってきてくれています。rubyciに結果を載せたいそうです。chkbuildうごかして、rubyciからfetchしてもらう必要があると思うんだけどそういうアクセスできるか聞いてみた。何人かにアカウントもくれるといっているので、そういうアクセスができるとわかってからruby-devに聞いてみようと思っています。が、私が勝手に話をすすめるのはどうなんだろうか。俺ただのきまぐれボランティアだけど、相手は会社だしなぁ。どうしていいか誰に相談していいかわからない。