At Fri, 06 Jul 2001 19:42:31 +0900,
Takaaki Tateishi wrote:
> Solaris8 での状況を報告します.

 ありがとうございます。

> is16e0u20:~/work/ruby/rough/ext/digest$ ruby-1.6 extconf.rb 
> checking for md5.h... yes
> checking for MD5_Init()... no
> checking for MD5Init()... no
> checking for main() in -lmd... no
> checking for () in -lcrypto... yes
> checking for main() in -lssl... yes
> checking for md5.h... yes
> checking for MD5_Init()... yes
> checking for MD5End()... no
> checking for sha1.h... no
> checking for sha.h... no
> checking for ripemd.h... no
> checking for rmd160.h... no
> creating Makefile
> 
> is16e0u20:~/work/ruby/rough/ext/digest$ make
> gcc -fPIC -g -O2 -fPIC  -DHAVE_CONFIG_H -DHAVE_MD5 -DHAVE_RMD160END -Dlint -I/kt-fs/exec/sparc-solaris7/lib/ruby/1.6/sparc-solaris2.7 -I/kt-fs/exec/sparc-solaris7/include -DHAVE_MD5_H -DHAVE_MD5_H -DHAVE_MD5_INIT   -I/usr/include/openssl -c -o digest.o digest.c
> In file included from digest.h:64,
>                  from digest.c:31:
> rmd160.h:30: sys/cdefs.h: No such file or directory
> make: *** [digest.o] Error 1
> 
> となります.cdefs.hがないのは明らかですが,この中で定義されている

 むむ。Solaris8 には sys/cdefs.h がないのですか。SunOS 5.5.1 には
あるんですけどね。。

> u_int32_t というものと,__BEGIN_DECLS,__END_DECLSを
> 
>   typedef unsigned int u_int32_t
>   #define __BEGIN_DECLS
>   #define __END_DECLS
> 
> として定義します.そして,各ファイルのsys/cdefs.hをすべてコメントに
> するとmakeは通ります.がtest.shの最後でこけます.

 ちょっとテストスクリプトがへぼいので、もうちょっと分かりやすい
ものにします。


 そういえば、 Ruby では特に 32bit 整数のような型は検出していない
ですね。SIZEOF_* マクロを元に見つけるようにしようかな。

> 今はこれ以上時間がとれないので,正常に動かすことができた場合,
> 改良後のパッチなど詳しくは後日報告します.

 よろしくお願いします。

-- 
                     /
                    /__  __            Akinori.org / MUSHA.org
                   / )  )  ) )  /     FreeBSD.org / Ruby-lang.org
Akinori MUSHA aka / (_ /  ( (__(  @ iDaemons.org / and.or.jp

"Freeze this moment a little bit longer, make each impression
  a little bit stronger..  Experience slips away -- Time stand still"