Ruby Install Guide::HP-UX

最初に

HP-UX 11.23(11iv2) 上で ruby-1.8.6 patch 36 と ruby 1.9.0 (trunk) のコンパイルについて書かれています。 PA-RISC も Itanium も同様に扱えます。

古い情報ですが HP-UX 10.20 と HP-UX 11.0 の情報も残しておきます。 なにかのときに役立つかもしれません。

ruby-1.8.6 patch 36

ソースコードを作業領域で展開します。 gzip 関連は /usr/contrib/bin に入っていますので、PATH を通しておいてください(デフォルトで入っていると思います)。

次の手順でコンパイルをしてください。 HP-UX の make コマンドを使っている場合 touch lex.c は忘れずにお願いします。 GNU make を入れて置くと便利です。

$ CFLAGS="-O -D_XOPEN_SOURCE_EXTENDED" ./configure
$ touch lex.c
$ make

最適化オプションは -O を指定しています。

コンパイルオプションで指定している「-D_XOPEN_SOURCE_EXTENDED」は、ext/curses のためのオプションです。

インストールは root になって make install してください。

# make install
ruby-1.9.0 trunk

コンパイルに bison を必要としています。

<URL:http://hpux.connect.org.uk/> Software Porting And Archive Centre for HP-UX

より HP-UX の depot 形式のバイナリが入手できますので、ここから Ruby より先にインストールしてください。 その他の便利なツールのバイナリもありますので、利用ください。

bison 以外は、1.6.8 系と同じようにコンパイルください。

HP-UX 10.20 と HP-UX 11.0

sed については、HP-UX の sed では configure がうまく動きません。 GNU sed を先にインストールしてから作業をお願いします。

HP-UX 11 (HP-UX 10.20 以上でも同じ) でのコンパイル手順です。

$ cd ワークディレクトリ
$ gzcat ruby-X.Y.Z.tar.gz | tar xf -
$ cd ruby-X.Y.Z
$ CC="cc -Ae" ./configure
$ make
$ make test
OK なら su して
# make install

CC で指定しているオプション -Ae は、C Compiler を ANSI-C モードにしています。 HP-UX 11 からはデフォルト動作です。 HP-UX 10.x の場合には指定してください。

最適化を行う場合には、次のように行ってください。

$ CC="cc -Ae" CFLAGS="-O +Onolimit" ./configure

これは、必要に合わせて指定してください。 指定しなくても OK です。

補足

o config.status 実行中にエラーになる場合

configure 実行中に、次のようなエラーがでる場合があります。

creating ./config.status
creating Makefile
./config.status[204]: 4698 Memory fault(coredump)
creating ext/extmk.rb
./config.status[204]: 4714 Memory fault(coredump)

これは、sed の問題になります。 GNU sed をインストールすることで回避できますので、この問題が発生したら GNU sed をインストールしてください。

o 「sh: gperf: not found.」でエラーになる場合

make 中に次のエラーがでる場合は

gperf -p -j1 -i 1 -g -o -t -N rb_reserved_word -k1,3,$ ./keywords > lex.c
sh: gperf:  not found.

make 前に次のコマンドを実行ください。

$ touch lex.c

GNU make がない場合などで、lex.c を再作成することがあります。 このとき gperf というコマンドを必要とします。 HP-UX では標準では gperf はインストールされていません。 このためエラーになってしまいます。

HP-UX の make は、秒単位で mtime が同じファイルだと作り直そうとしてしまいます。

o yacc がエラーになる場合

parse.y から parse.c を作り直す場合(普通は必要ありません)に、yacc がエラーになります。 この場合 configure するときに、次のように yacc のオプションを加えて指定してください。

$ YACC="yacc -Nm24000" ./configure

o missing/vsnprintf.c がエラーになる場合

HP-UX 10.x で missing/vsnprintf.c がエラーになる場合があります。 この場合は、次の libc パッチを入れてください。

PHCO_20441 B.10.00.00.AA libc cumulative patch

vsnprintf がサポートされるようになりますので、コンパイルが可能になります。

o パッチについて

コンパイラ系のパッチはできるだけ最新のものを使用ください。 HP-UX 11.0 の環境での確認は、次のパッチ(さらに最新のものがでていると思います)を入れています。

PHSS_18066 1.0 C Preprocessor cumulative patch.
PHSS_21222 1.0 +O4/PBO compiler cumulative patch.
PHSS_21223 1.0 ANSI C compiler cumulative patch
この節のメンテナと最終更新日時

残念ながら渡辺は、HP-UX 環境がなくなりこのページをメンテナンスできなくなりました。 2008/11/3

渡辺哲也 Tetsuya.WATANABE atmark nifty.com 2007/9/8

助田さん、情報 [ruby-list:24704] ありがとうございます。



The RWiki