From: Naohisa Goto Date: 2009-08-11T12:49:55+09:00 Subject: [ruby-dev:39062] [Bug #1919] sparc-solaris-2.10 で 1.9.2-preview1 がビルドできない チケット #1919 が更新されました。 (by Naohisa Goto) ファイル config.h 追加 Solaris の readdir_r について調べてみたところ、 "readdir_r considered harmful" http://womble.decadentplace.org.uk/readdir_r-advisory.html という文章を見つけました。これによると、 > On Linux (with glibc) and most versions of Unix, struct dirent > is large enough to hold maximum-length names from most filesystems, > so this is safe (though > wasteful). This is not true of Solaris > and BeOS, where the d_name member is an array of length 1. とのことでした。どうやら Solaris では、struct dirent entry のメモリを 確保する際、ファイル名の長さを考慮に入れた十分な長さを自前で確保する 必要があるようです。 > これでどうでしょうか。 config.h を示すのを忘れていました。 1.9.2-preview1の場合のconfig.hをredmine上にて添付します。 autoconf (バージョン 2.61 を使用)が自動的に #define _POSIX_PTHREAD_SEMANTICS 1 を追加してくれていたようです。 パッチも念のため試しましたが、やはりダメでした。 この場合の config.h の実質的な変更点は、添付のものから #define _ALL_SOURCE 1 の行が抜けただけでした。 ---------------------------------------- http://redmine.ruby-lang.org/issues/show/1919 ---------------------------------------- http://redmine.ruby-lang.org