わたなべです。 WATANABE Tetsuya <tetsu / jpn.hp.com> writes: > これ以外に inline の使いかたが HP-UX では対応してい > ないものなので > > #define inline > > を追加しています。 missing/strftime.cで使っているinlineとruby.hで使われている inlineと似ているんですが、どのあたりがまずいんでしょうか? > まず missing/strftime.c が選択されるのですが、これが > うまくコンパイルできません。altzone をサポートしてい > ないことと、timezone 変数の型のミスマッチがあります > (このミスマッチを解消しても altzone がないので使えま > せん)。 > > HAVE_TZNAME > > になっていますが、これが想定されているものとあってい > ないのかな。 HP-UXにstrftime(3)があるんならコンパイルできるようにするよりも、 > CVS の最新のソースコードでは、missing/strftime.c は、 > 選択されずコンパイルされないので、いままで確認してい > ませんでした。そのため気がつくのがいまごろ... > > autoconf は 2.53 を使っています。現在 Ruby では 2.57 > を使っているようですね。missing/strftime.c の選択は、 > この辺の差でしょうか。 こちらを調査したほうがいいと思います。 たとえばlinuxでは成功するんですが、config.logのその部分は configure:10142: checking for strftime configure:10186: gcc -o conftest -Os conftest.c -ldl -lcrypt -lm >&5 configure:10189: $? = 0 configure:10192: test -s conftest configure:10195: $? = 0 configure:10206: result: yes となってます。HP-UXではどうなってますか? > ld に対して「-Wl,-E」を渡していますが、これはフロン > トエンドとして cc のときに ld へオプションを渡すため > のオプションです。直接 ld に渡してもエラーになってし > まいます。 ということはLDFLAGSが今までは渡されてなかったってことですね。 lib/mkmf.rbをちょっと見直す必要がありそうです。 > configure 時に次のエラーがでています。 > > ------------------------------ > checking whether the linker is GNU ld... cc: warning 422: Unknown option "-" ignored. > cc: warning 422: Unknown option "i" ignored. > cc: warning 422: Unknown option "-nt-prog-name=ld" ignored. > no > ------------------------------ ここはエラーになってもいいんですが、なんか変ですね。 たとえば % /bin/sh -c 'ls hogehoge 2>&1 | grep hogehoge > /dev/null' と実行しても ls: hogehoge: No such file or directory のようなメッセージが出ますか? #出るなら別な方法を考えないと。 -- わたなべひろふみ