From: Austin S. <te...@of...> - 2004-10-08 08:54:04
|
On Tue, Oct 05, 2004 at 02:43:42PM -0400, Zhisong Jin wrote: > I'm trying to build a Expect.pm on solaris 9 > > 1. download expect-1.15 and IO-tty-1.02 source from sourceforge > 2. compile and install IO-tty , all OK, \ > 2. compile expect-1.15, failed at make test > $ perl Makefile.pl > $ make > $ make test > > "make test failed" , complain about > > Use of uninitialized value in ioctl at > /usr/local/lib/perl5/site_perl/5.8.4/sun4-solaris-thread-multi-64/IO/Pty.pm line 119. > warning: TIOCSCTTY failed, slave might not be set as controlling > terminal: Invalid argument at > /usr/local/lib/perl5/site_perl/5.8.4/sun4-solaris-thread-multi-64/IO/Pty.pm line 120. > TIMEOUT > > looking into the source on Pty.pm , the relevent portion is: > # Acquire a controlling terminal if this doesn't happen automatically > if (defined TIOCSCTTY) { > if (not defined ioctl( ${*$self}{'io_pty_slave'}, TIOCSCTTY, 0 )) { > warn "warning: TIOCSCTTY failed, slave might not be set as > controlling > terminal: $!" if $^W; > } Solaris doesn't set TIOCSCTTY here (can't find it anywhere under /usr/include), that seems a little strange to me, not sure how you are getting it defined. > } elsif (defined TCSETCTTY) { Also doesn't define this. I'm looking at 5.8 (vs. 9/5.9), but I would be _very_ surprised if they changed basic terminal handling code between OS revs. Austin |