From: Naohisa GOTO Date: 2011-10-24T22:26:00+09:00 Subject: [ruby-dev:44693] Re: [ruby-trunk - Bug #5475][Open] r33507以降SolarisでPTYが使えない On Mon, 24 Oct 2011 18:43:39 +0900 Tanaka Akira wrote: > とりあえずワークアランドとして以下のようにすると避けられるでしょうか。 回避できました。以下のように正常終了します。 % ruby -rpty -e 'PTY.spawn("/bin/cat") { |r,w,id| p r; p w; p id }' # # 16125 また、test_pty.rb, test_io_console.rb 共にSkipやErrorが消えました。 なお、Solaris 9 およびそれ以前では posix_openpt が存在しないらしいため、 defined(HAVE_PTSNAME) のところも同様に対策する必要がある気がしますが、 未だにSolaris9を使っている人が新しいRubyを求めることは無いと信じたい。 それと、Solarisを識別するマクロは __sun のほうがよいのかもしれません。 OpenCSWでは #if defined(__sun) || defined(__sun__) 推奨、 http://wiki.opencsw.org/porting-faq#toc18 pkgsrc developer's guide では __sun 推奨のようです。 http://www.netbsd.org/docs/pkgsrc/fixes.html#fixes.build もっとも、sun も私の手元の Sun cc, Fujitsu fcc, gcc ではすべて 定義されていました。__sun__ はGCCしか定義しないようです。 -- 後藤 直久 ngoto@gen-info.osaka-u.ac.jp