From: Roland G. <RGi...@cp...> - 2004-10-08 09:29:21
|
Austin Schutz wrote: > 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. > Hmm, in the 'perl Makefile.PL' step I'm trying to figure out what constants are defined by compiling test progs for each constant. Austin, as you seem to have a solaris machine on your hands, could you look into that and see why it gets defined? Thanks! Roland |