[ruby-list:46525] OpenSolaris amd64環境でrubyをコンパイルすると32bitとして動作する。

From: Moru <lateau@...>
Date: 2009-11-05 15:29:00 UTC
List: ruby-list #46525
モルと申します。

ruby-dev:39642に載せた話ですが元スレッドが関係のない話になってしまうと思って新しくスレッドをあげます。

そこで自分のOpenSolaris 64bit環境でrubyを入れたら32bitで動いてるらしいという話が出ました。
えーと。これは仕様だそうです。

configure時、OpenSolarisが64bit環境(isainfo -n #=>
amd64)だとしてもOpenSolarisの仕様上「凄いリソースを要求しないものは基本的に32bitに動作させる」という内容があり、
CFLAG = m64などで明示的に指定しない限りrubyはかならず32bitで動くようになります。

$ uname -a
SunOS kaeko-third 5.11 snv_111b i86pc i386 i86pc Solaris

$ isainfo -n
amd64

この環境でruby 1.8.7 p174をコンパイルし生成されたconfig.hの中身をみると

...
#define SIZEOF_INT 4
#define SIZEOF_SHORT 2
#define SIZEOF_LONG 4
#define SIZEOF_LONG_LONG 8
#define SIZEOF___INT64 0
#define SIZEOF_OFF_T 8
#define SIZEOF_VOIDP 4
#define SIZEOF_FLOAT 4
#define SIZEOF_DOUBLE 8
#define SIZEOF_TIME_T 4
...

という風になっていました。確かに32bitになっています。
このままコンパイルしruby -v で確かめてみるとi386となっていますので間違いなく32bitで動作しています。

OpenSolarisでのconfigureの時参照してください。

--
MORU <lateau@gmail.com>

In This Thread

Prev Next