Skip Menu |

This queue is for tickets about the IO-Tty CPAN distribution.

Report information
The Basics
Id: 77813
Status: resolved
Worked: 20 min
Priority: 0/
Queue: IO-Tty

People
Owner: TODDR [...] cpan.org
Requestors: jellyson [...] gmail.com
KENTNL [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: 1.10
Fixed in: (no value)



Subject: Unable to install on Windows with DWIM Perl (Strawberry Perl 5.14.2.1)
Unable to install IO::Tty on Windows. Would like to install IO::Tty without Cygwin (or similar environment) in order to be able to use other modules that have IO::Tty as a dependency. Setup info: - Windows 7 Home Premium (64-bit) - DWIM Perl - downloaded from www.dwimperl.com - based on Strawberry Perl 5.14.2.1 - no installation of Cygwin or similar environments (i.e. MKS Toolkit, SUA, etc.) Attachments: - install_attempt.txt --> "cut & paste" from attempted install from CPAN - perl_version_info.txt --> output of "perl -V"
Subject: perl_version_info.txt
C:\>perl -V Summary of my perl5 (revision 5 version 14 subversion 2) configuration: Platform: osname=MSWin32, osvers=4.0, archname=MSWin32-x86-multi-thread uname='Win32 strawberryperl 5.14.2.1 #1 Tue Nov 22 21:00:59 2011 i386' config_args='undef' hint=recommended, useposix=true, d_sigaction=undef useithreads=define, usemultiplicity=define useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef use64bitint=undef, use64bitall=undef, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='gcc', ccflags =' -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTO MIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfi elds', optimize='-s -O2', cppflags='-DWIN32' ccversion='', gccversion='4.4.7', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=12 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='long long', lseek size=8 alignbytes=8, prototype=define Linker and Libraries: ld='g++', ldflags ='-s -L"C:\Dwimperl\perl\lib\CORE" -L"C:\Dwimperl\c\lib"' libpth=C:\Dwimperl\c\lib C:\Dwimperl\c\i686-w64-mingw32\lib libs=-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 perllibs=-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladva pi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lver sion -lodbc32 -lodbccp32 -lcomctl32 libc=, so=dll, useshrplib=true, libperl=libperl514.a gnulibc_version='' Dynamic Linking: dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags='-mdll -s -L"C:\Dwimperl\perl\lib\CORE" -L"C:\Dwim perl\c\lib"' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS PERL_MALLOC_WRAP PERL_PRESERVE_IVUV PL_OP_SLAB_ALLOC USE_ITHREADS USE_LARGE_FILES USE_PERLIO USE_PERL_ATOF USE_SITECUSTOMIZE Built under MSWin32 Compiled at Nov 22 2011 21:13:28 @INC: C:/Dwimperl/perl/site/lib C:/Dwimperl/perl/vendor/lib C:/Dwimperl/perl/lib . C:\>
From: jellyson [...] gmail.com
Adding the missing attachment that had the install attempt messages. On Thu Jun 14 01:48:07 2012, john-e wrote: Show quoted text
> Unable to install IO::Tty on Windows. Would like to install IO::Tty > without Cygwin (or similar environment) in order to be able to use
other Show quoted text
> modules that have IO::Tty as a dependency. > > Setup info: > - Windows 7 Home Premium (64-bit) > - DWIM Perl > - downloaded from www.dwimperl.com > - based on Strawberry Perl 5.14.2.1 > - no installation of Cygwin or similar environments (i.e. MKS
Toolkit, Show quoted text
> SUA, etc.) > > Attachments: > - install_attempt.txt --> "cut & paste" from attempted install from
CPAN Show quoted text
> - perl_version_info.txt --> output of "perl -V"
Subject: install_attempt.txt
C:\>cpan install IO::Tty CPAN: LWP::UserAgent loaded ok (v6.03) Fetching with LWP: http://cpan.strawberryperl.com/authors/01mailrc.txt.gz CPAN: YAML loaded ok (v0.77) CPAN: CPAN::SQLite loaded ok (v0.202) Fetching with LWP: http://cpan.strawberryperl.com/modules/02packages.details.txt.gz Fetching with LWP: http://cpan.strawberryperl.com/modules/03modlist.data.gz Database was generated on Tue, 12 Jun 2012 15:26:21 GMT Updating database file ... Done!Running install for module 'IO::Tty' Running make for T/TO/TODDR/IO-Tty-1.10.tar.gz Fetching with LWP: http://cpan.strawberryperl.com/authors/id/T/TO/TODDR/IO-Tty-1.10.tar.gz CPAN: Digest::SHA loaded ok (v5.63) Fetching with LWP: http://cpan.strawberryperl.com/authors/id/T/TO/TODDR/CHECKSUMS CPAN: Compress::Zlib loaded ok (v2.042) Checksum for C:\Dwimperl\cpan\sources\authors\id\T\TO\TODDR\IO-Tty-1.10.tar.gz o k CPAN: Archive::Tar loaded ok (v1.80) CPAN: File::Temp loaded ok (v0.22) CPAN: Parse::CPAN::Meta loaded ok (v1.4401) CPAN: CPAN::Meta loaded ok (v2.120351) CPAN: Module::CoreList loaded ok (v2.57) CPAN.pm: Building T/TO/TODDR/IO-Tty-1.10.tar.gz Now let's see what we can find out about your system (logfiles of failing tests are available in the conf/ dir)... Looking for _getpty()...... not found. Looking for getpt()........ not found. Looking for grantpt()...... not found. Looking for openpty()...... not found. Looking for posix_openpt(). not found. Looking for ptsname()...... not found. Looking for ptsname_r().... not found. Looking for sigaction().... not found. Looking for strlcpy()...... not found. Looking for ttyname()...... not found. Looking for unlockpt()..... not found. Looking for libutil.h...... not found. Looking for pty.h.......... not found. Looking for sys/pty.h...... not found. Looking for sys/ptyio.h.... not found. Looking for sys/stropts.h.. not found. Looking for termio.h....... not found. Looking for termios.h...... not found. Looking for util.h......... not found. Checking which symbols compile OK... (sorry for the tedious check, but some systems have not too clean header files, to say the least; '+' means OK, '-' means not defined and '*' has compile problems...) -B0 -B110 -B115200 -B1200 -B134 -B150 -B153600 -B1800 -B19200 -B200 -B230400 -B2 400 -B300 -B307200 -B38400 -B460800 -B4800 -B50 -B57600 -B600 -B75 -B76800 -B960 0 -BRKINT -BS0 -BS1 -BSDLY -CBAUD -CBAUDEXT -CBRK -CCTS_OFLOW -CDEL -CDSUSP -CEO F -CEOL -CEOL2 -CEOT -CERASE -CESC -CFLUSH -CIBAUD -CIBAUDEXT -CINTR -CKILL -CLN EXT -CLOCAL -CNSWTCH -CNUL -CQUIT -CR0 -CR1 -CR2 -CR3 -CRDLY -CREAD -CRPRNT -CRT SCTS -CRTSXOFF -CRTS_IFLOW -CS5 -CS6 -CS7 -CS8 -CSIZE -CSTART -CSTOP -CSTOPB -CS USP -CSWTCH -CWERASE -DEFECHO -DIOC -DIOCGETP -DIOCSETP -DOSMODE -ECHO -ECHOCTL -ECHOE -ECHOK -ECHOKE -ECHONL -ECHOPRT -EXTA -EXTB -FF0 -FF1 -FFDLY -FIORDCHK -F LUSHO -HUPCL -ICANON -ICRNL -IEXTEN -IGNBRK -IGNCR -IGNPAR -IMAXBEL -INLCR -INPC K -ISIG -ISTRIP -IUCLC -IXANY -IXOFF -IXON -KBENABLED -LDCHG -LDCLOSE -LDDMAP -L DEMAP -LDGETT -LDGMAP -LDIOC -LDNMAP -LDOPEN -LDSETT -LDSMAP -LOBLK -NCCS -NL0 - NL1 -NLDLY -NOFLSH -OCRNL -OFDEL -OFILL -OLCUC -ONLCR -ONLRET -ONOCR -OPOST -PAG EOUT -PARENB -PAREXT -PARMRK -PARODD -PENDIN -RCV1EN -RTS_TOG -TAB0 -TAB1 -TAB2 -TAB3 -TABDLY -TCDSET -TCFLSH -TCGETA -TCGETS -TCIFLUSH -TCIOFF -TCIOFLUSH -TCIO N -TCOFLUSH -TCOOFF -TCOON -TCSADRAIN -TCSAFLUSH -TCSANOW -TCSBRK -TCSETA -TCSET AF -TCSETAW -TCSETCTTY -TCSETS -TCSETSF -TCSETSW -TCXONC -TERM_D40 -TERM_D42 -TE RM_H45 -TERM_NONE -TERM_TEC -TERM_TEX -TERM_V10 -TERM_V61 -TIOCCBRK -TIOCCDTR -T IOCCONS -TIOCEXCL -TIOCFLUSH -TIOCGETC -TIOCGETD -TIOCGETP -TIOCGLTC -TIOCGPGRP -TIOCGSID -TIOCGSOFTCAR -TIOCGWINSZ -TIOCHPCL -TIOCKBOF -TIOCKBON -TIOCLBIC -TIO CLBIS -TIOCLGET -TIOCLSET -TIOCMBIC -TIOCMBIS -TIOCMGET -TIOCMSET -TIOCM_CAR -TI OCM_CD -TIOCM_CTS -TIOCM_DSR -TIOCM_DTR -TIOCM_LE -TIOCM_RI -TIOCM_RNG -TIOCM_RT S -TIOCM_SR -TIOCM_ST -TIOCNOTTY -TIOCNXCL -TIOCOUTQ -TIOCREMOTE -TIOCSBRK -TIOC SCTTY -TIOCSDTR -TIOCSETC -TIOCSETD -TIOCSETN -TIOCSETP -TIOCSIGNAL -TIOCSLTC -T IOCSPGRP -TIOCSSID -TIOCSSOFTCAR -TIOCSTART -TIOCSTI -TIOCSTOP -TIOCSWINSZ -TM_A NL -TM_CECHO -TM_CINVIS -TM_LCF -TM_NONE -TM_SET -TM_SNL -TOSTOP -VCEOF -VCEOL - VDISCARD -VDSUSP -VEOF -VEOL -VEOL2 -VERASE -VINTR -VKILL -VLNEXT -VMIN -VQUIT - VREPRINT -VSTART -VSTOP -VSUSP -VSWTCH -VT0 -VT1 -VTDLY -VTIME -VWERASE -WRAP -X CASE -XCLUDE -XMT1EN -XTABS WARNING! Neither ptsname() nor ptsname_r() could be found, so we cannot use a high-level interface like openpty(). No high-level lib or clone device has been found, we will use BSD-style ptys. Writing IO::Tty::Constant.pm... DEFINE = Checking if your kit is complete... Looks good Writing Makefile for IO::Tty Writing MYMETA.yml and MYMETA.json cp Tty.pm blib\lib\IO\Tty.pm cp Tty/Constant.pm blib\lib\IO\Tty\Constant.pm cp Pty.pm blib\lib\IO\Pty.pm C:\Dwimperl\perl\bin\perl.exe C:\Dwimperl\perl\lib\ExtUtils\xsubpp -typemap C:\ Dwimperl\perl\lib\ExtUtils\typemap Tty.xs > Tty.xsc && C:\Dwimperl\perl\bin\per l.exe -MExtUtils::Command -e mv -- Tty.xsc Tty.c gcc -c -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPER L_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields -s -O 2 -DVERSION=\"1.10\" -DXS_VERSION=\"1.10\" "-IC:\Dwimperl\perl\lib\C ORE" Tty.c Tty.xs:54:23: sys/ioctl.h: No such file or directory Tty.xs: In function `make_safe_fd': Tty.xs:225: error: `F_DUPFD' undeclared (first use in this function) Tty.xs:225: error: (Each undeclared identifier is reported only once Tty.xs:225: error: for each function it appears in.) dmake.EXE: Error code 129, while making 'Tty.o' TODDR/IO-Tty-1.10.tar.gz C:\Dwimperl\c\bin\dmake.EXE -- NOT OK Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible C:\>
I've spent some time looking at this and exploring options. It's been suggested that it is passing the buck to say that IO::Tty is not responsible for providing the Tty in headers and libraries. Some folks have suggested this is a job for Alien to assure this. I'm ok with that but, I'm unaware of anything that would provide such an interface. It also would only help windows. We're basically talking about an Alien::POSIX for windows, right? I am very happy to help whoever wants to see this work, but considering I do not use windows at all any more, I would say I'm not the guy to see this happen. If Alien is the solution, I would encourage whoever wants it to implement it and then I'll be happy to optionally depend on it for windows. Patches welcome
Am Do 14. Jun 2012, 01:48:07, john-e schrieb: Show quoted text
> Unable to install IO::Tty on Windows. Would like to install IO::Tty > without Cygwin (or similar environment) in order to be able to use
other Show quoted text
> modules that have IO::Tty as a dependency.
Sorry, not possible. Windows doesn't have a concept that is remotely similar to TTYs. So there will never be a native IO::Tty for Windows. Cygwin does provide a TTY emulation though. But you cannot use native Windows apps with the cygwin TTYs. Regards, Roland -- RGiersig@cpan.org
Forget about it, it's not possible. Windows doesn't have a concept that is remotely similar to TTYs. So there will never be a native IO::Tty for Windows. ;-) Cygwin does provide a TTY emulation though. But you cannot use native Windows apps with the cygwin TTYs. Cheers, Roland. Am Fr 15. Jun 2012, 10:39:38, TODDR schrieb: Show quoted text
> I've spent some time looking at this and exploring options. > > It's been suggested that it is passing the buck to say that IO::Tty is > not responsible for > providing the Tty in headers and libraries. Some folks have suggested > this is a job for Alien to > assure this. I'm ok with that but, I'm unaware of anything that would > provide such an interface. > It also would only help windows. We're basically talking about an > Alien::POSIX for windows, > right? > > I am very happy to help whoever wants to see this work, but > considering I do not use windows > at all any more, I would say I'm not the guy to see this happen. If > Alien is the solution, I would > encourage whoever wants it to implement it and then I'll be happy to > optionally depend on it for > windows. > > Patches welcome
-- -- RGiersig@cpan.org
If Win32 Support is off the menu, then it should exit N/A from Makefile.PL as opposed to delaying failure till later.

If Win32 Support is possible with user support, then it should also bail N/A during Makefile.PL  to tell the user to install the correct tools to make it work.

RT-Send-CC: jellyson [...] gmail.com
On Sat May 03 09:11:50 2014, KENTNL wrote: Show quoted text
> If Win32 Support is off the menu, then it should exit N/A from > Makefile.PL as > opposed to delaying failure till later.
Fair enough committed on github. https://github.com/toddr/IO-Tty commit 187c44a08c89e139c581f881f605e363e375bc78 Author: Todd Rinaldo <toddr@cpan.org> Date: Mon May 5 09:25:52 2014 -0500 Be explicit about lack of support for MSWin32 in IO::Tty META.json | 44 ++++++++++++++++++++++++++++++++++++++++++++ META.yml | 40 ++++++++++++++++++++-------------------- Makefile.PL | 8 +++++++- Pty.pm | 4 ++-- Tty.pm | 6 +++---