Skip Menu |

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

Report information
The Basics
Id: 96710
Status: resolved
Priority: 0/
Queue: IO-Tty

People
Owner: TODDR [...] cpan.org
Requestors: SJM [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in:
  • 1.11
  • 1.11_01
Fixed in: 1.12



Subject: Failure building IO::Tty on older Mac OSX with perl 5.20.0
I'm using Darwin Kernel 10.7.0 ( OSX 10.6.7 ) to build IO::Tty using perl-5.20.0 and make is failing. This works fine with perl-5.18.2 on the same system, so I expect it's some interaction with the system and the newest perl. This also does not appear to be a problem on a more modern darwin, such as Darwin Kernel 13.2.0 perl-5.18.2 ======== % /usr/perls/perl-5.18.2/bin/perl Makefile.PL 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()...... FOUND. Looking for openpty()...... FOUND. Looking for posix_openpt(). FOUND. Looking for ptsname()...... FOUND. Looking for ptsname_r().... not found. Looking for sigaction().... FOUND. Looking for strlcpy()...... FOUND. Looking for ttyname()...... FOUND. Looking for unlockpt()..... 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...... FOUND. Looking for util.h......... 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 +B2400 +B300 -B307200 +B38400 -B460800 +B4800 +B50 +B57600 +B600 +B75 +B76800 +B9600 +BRKINT +BS0 +BS1 +BSDLY -CBAUD -CBAUDEXT +CBRK +CCTS_OFLOW -CDEL +CDSUSP +CEOF +CEOL -CEOL2 +CEOT +CERASE -CESC +CFLUSH -CIBAUD -CIBAUDEXT +CINTR +CKILL +CLNEXT +CLOCAL -CNSWTCH -CNUL +CQUIT +CR0 +CR1 +CR2 +CR3 +CRDLY +CREAD +CRPRNT +CRTSCTS -CRTSXOFF +CRTS_IFLOW +CS5 +CS6 +CS7 +CS8 +CSIZE +CSTART +CSTOP +CSTOPB +CSUSP -CSWTCH +CWERASE -DEFECHO -DIOC -DIOCGETP -DIOCSETP -DOSMODE +ECHO +ECHOCTL +ECHOE +ECHOK +ECHOKE +ECHONL +ECHOPRT +EXTA +EXTB +FF0 +FF1 +FFDLY -FIORDCHK +FLUSHO +HUPCL +ICANON +ICRNL +IEXTEN +IGNBRK +IGNCR +IGNPAR +IMAXBEL +INLCR +INPCK +ISIG +ISTRIP -IUCLC +IXANY +IXOFF +IXON -KBENABLED -LDCHG -LDCLOSE -LDDMAP -LDEMAP -LDGETT -LDGMAP -LDIOC -LDNMAP -LDOPEN -LDSETT -LDSMAP -LOBLK +NCCS +NL0 +NL1 +NLDLY +NOFLSH +OCRNL +OFDEL +OFILL -OLCUC +ONLCR +ONLRET +ONOCR +OPOST -PAGEOUT +PARENB -PAREXT +PARMRK +PARODD +PENDIN -RCV1EN -RTS_TOG +TAB0 +TAB1 +TAB2 +TAB3 +TABDLY -TCDSET -TCFLSH -TCGETA -TCGETS +TCIFLUSH +TCIOFF +TCIOFLUSH +TCION +TCOFLUSH +TCOOFF +TCOON +TCSADRAIN +TCSAFLUSH +TCSANOW -TCSBRK -TCSETA -TCSETAF -TCSETAW -TCSETCTTY -TCSETS -TCSETSF -TCSETSW -TCXONC -TERM_D40 -TERM_D42 -TERM_H45 -TERM_NONE -TERM_TEC -TERM_TEX -TERM_V10 -TERM_V61 +TIOCCBRK +TIOCCDTR +TIOCCONS +TIOCEXCL +TIOCFLUSH -TIOCGETC +TIOCGETD -TIOCGETP -TIOCGLTC +TIOCGPGRP -TIOCGSID -TIOCGSOFTCAR +TIOCGWINSZ -TIOCHPCL -TIOCKBOF -TIOCKBON -TIOCLBIC -TIOCLBIS -TIOCLGET -TIOCLSET +TIOCMBIC +TIOCMBIS +TIOCMGET +TIOCMSET +TIOCM_CAR +TIOCM_CD +TIOCM_CTS +TIOCM_DSR +TIOCM_DTR +TIOCM_LE +TIOCM_RI +TIOCM_RNG +TIOCM_RTS +TIOCM_SR +TIOCM_ST +TIOCNOTTY +TIOCNXCL +TIOCOUTQ +TIOCREMOTE +TIOCSBRK +TIOCSCTTY +TIOCSDTR -TIOCSETC +TIOCSETD -TIOCSETN -TIOCSETP -TIOCSIGNAL -TIOCSLTC +TIOCSPGRP -TIOCSSID -TIOCSSOFTCAR +TIOCSTART +TIOCSTI +TIOCSTOP +TIOCSWINSZ -TM_ANL -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 -XCASE -XCLUDE -XMT1EN -XTABS Show quoted text
>>> Configuration looks good! <<<
Writing IO::Tty::Constant.pm... DEFINE = -DHAVE_DEV_PTMX -DHAVE_GRANTPT -DHAVE_OPENPTY -DHAVE_POSIX_OPENPT -DHAVE_PTSNAME -DHAVE_SIGACTION -DHAVE_STRLCPY -DHAVE_TERMIOS_H -DHAVE_TTYNAME -DHAVE_UNLOCKPT -DHAVE_UTIL_H Checking if your kit is complete... Looks good Generating a Unix-style Makefile Writing Makefile for IO::Tty Writing MYMETA.yml and MYMETA.json % make cp Tty/Constant.pm blib/lib/IO/Tty/Constant.pm cp Tty.pm blib/lib/IO/Tty.pm cp Pty.pm blib/lib/IO/Pty.pm Running Mkbootstrap for IO::Tty () chmod 644 Tty.bs /usr/perls/perl-5.18.2/bin/perl /usr/perls/perl-5.18.2/lib/vendor_perl/5.18.2/ExtUtils/xsubpp -typemap /usr/perls/perl-5.18.2/lib/5.18.2/ExtUtils/typemap Tty.xs > Tty.xsc && mv Tty.xsc Tty.c gcc -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -fstack-protector -I/usr/perls/perl-5.18.2/ext/include -O3 -DVERSION=\"1.11\" -DXS_VERSION=\"1.11\" "-I/usr/perls/perl-5.18.2/lib/5.18.2/darwin-thread-multi-2level/CORE" -DHAVE_DEV_PTMX -DHAVE_GRANTPT -DHAVE_OPENPTY -DHAVE_POSIX_OPENPT -DHAVE_PTSNAME -DHAVE_SIGACTION -DHAVE_STRLCPY -DHAVE_TERMIOS_H -DHAVE_TTYNAME -DHAVE_UNLOCKPT -DHAVE_UTIL_H Tty.c rm -f blib/arch/auto/IO/Tty/Tty.bundle env MACOSX_DEPLOYMENT_TARGET=10.3 cc -bundle -undefined dynamic_lookup -L/usr/perls/perl-5.18.2/ext/lib -fstack-protector Tty.o -o blib/arch/auto/IO/Tty/Tty.bundle \ -lutil \ chmod 755 blib/arch/auto/IO/Tty/Tty.bundle /usr/perls/perl-5.18.2/bin/perl -MExtUtils::Command::MM -e 'cp_nonempty' -- Tty.bs blib/arch/auto/IO/Tty/Tty.bs 644 Manifying blib/man3/IO::Pty.3 Manifying blib/man3/IO::Tty.3 Manifying blib/man3/IO::Tty::Constant.3 perl-5.20.0 ======== % /usr/perls/perl-5.20.0/bin/perl Makefile.PL 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()...... FOUND. Looking for openpty()...... FOUND. Looking for posix_openpt(). FOUND. Looking for ptsname()...... FOUND. Looking for ptsname_r().... not found. Looking for sigaction().... FOUND. Looking for strlcpy()...... FOUND. Looking for ttyname()...... FOUND. Looking for unlockpt()..... 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...... FOUND. Looking for util.h......... 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 +B2400 +B300 -B307200 +B38400 -B460800 +B4800 +B50 +B57600 +B600 +B75 +B76800 +B9600 +BRKINT +BS0 +BS1 +BSDLY -CBAUD -CBAUDEXT +CBRK +CCTS_OFLOW -CDEL +CDSUSP +CEOF +CEOL -CEOL2 +CEOT +CERASE -CESC +CFLUSH -CIBAUD -CIBAUDEXT +CINTR +CKILL +CLNEXT +CLOCAL -CNSWTCH -CNUL +CQUIT +CR0 +CR1 +CR2 +CR3 +CRDLY +CREAD +CRPRNT +CRTSCTS -CRTSXOFF +CRTS_IFLOW +CS5 +CS6 +CS7 +CS8 +CSIZE +CSTART +CSTOP +CSTOPB +CSUSP -CSWTCH +CWERASE -DEFECHO -DIOC -DIOCGETP -DIOCSETP -DOSMODE +ECHO +ECHOCTL +ECHOE +ECHOK +ECHOKE +ECHONL +ECHOPRT +EXTA +EXTB +FF0 +FF1 +FFDLY -FIORDCHK +FLUSHO +HUPCL +ICANON +ICRNL +IEXTEN +IGNBRK +IGNCR +IGNPAR +IMAXBEL +INLCR +INPCK +ISIG +ISTRIP -IUCLC +IXANY +IXOFF +IXON -KBENABLED -LDCHG -LDCLOSE -LDDMAP -LDEMAP -LDGETT -LDGMAP -LDIOC -LDNMAP -LDOPEN -LDSETT -LDSMAP -LOBLK +NCCS +NL0 +NL1 +NLDLY +NOFLSH +OCRNL +OFDEL +OFILL -OLCUC +ONLCR +ONLRET +ONOCR +OPOST -PAGEOUT +PARENB -PAREXT +PARMRK +PARODD +PENDIN -RCV1EN -RTS_TOG +TAB0 +TAB1 +TAB2 +TAB3 +TABDLY -TCDSET -TCFLSH -TCGETA -TCGETS +TCIFLUSH +TCIOFF +TCIOFLUSH +TCION +TCOFLUSH +TCOOFF +TCOON +TCSADRAIN +TCSAFLUSH +TCSANOW -TCSBRK -TCSETA -TCSETAF -TCSETAW -TCSETCTTY -TCSETS -TCSETSF -TCSETSW -TCXONC -TERM_D40 -TERM_D42 -TERM_H45 -TERM_NONE -TERM_TEC -TERM_TEX -TERM_V10 -TERM_V61 +TIOCCBRK +TIOCCDTR +TIOCCONS +TIOCEXCL +TIOCFLUSH -TIOCGETC +TIOCGETD -TIOCGETP -TIOCGLTC +TIOCGPGRP -TIOCGSID -TIOCGSOFTCAR +TIOCGWINSZ -TIOCHPCL -TIOCKBOF -TIOCKBON -TIOCLBIC -TIOCLBIS -TIOCLGET -TIOCLSET +TIOCMBIC +TIOCMBIS +TIOCMGET +TIOCMSET +TIOCM_CAR +TIOCM_CD +TIOCM_CTS +TIOCM_DSR +TIOCM_DTR +TIOCM_LE +TIOCM_RI +TIOCM_RNG +TIOCM_RTS +TIOCM_SR +TIOCM_ST +TIOCNOTTY +TIOCNXCL +TIOCOUTQ +TIOCREMOTE +TIOCSBRK +TIOCSCTTY +TIOCSDTR -TIOCSETC +TIOCSETD -TIOCSETN -TIOCSETP -TIOCSIGNAL -TIOCSLTC +TIOCSPGRP -TIOCSSID -TIOCSSOFTCAR +TIOCSTART +TIOCSTI +TIOCSTOP +TIOCSWINSZ -TM_ANL -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 -XCASE -XCLUDE -XMT1EN -XTABS Show quoted text
>>> Configuration looks good! <<<
Writing IO::Tty::Constant.pm... DEFINE = -DHAVE_DEV_PTMX -DHAVE_GRANTPT -DHAVE_OPENPTY -DHAVE_POSIX_OPENPT -DHAVE_PTSNAME -DHAVE_SIGACTION -DHAVE_STRLCPY -DHAVE_TERMIOS_H -DHAVE_TTYNAME -DHAVE_UNLOCKPT -DHAVE_UTIL_H Checking if your kit is complete... Looks good Generating a Unix-style Makefile Writing Makefile for IO::Tty Writing MYMETA.yml and MYMETA.json % make cp Pty.pm blib/lib/IO/Pty.pm cp Tty/Constant.pm blib/lib/IO/Tty/Constant.pm cp Tty.pm blib/lib/IO/Tty.pm Running Mkbootstrap for IO::Tty () chmod 644 Tty.bs /usr/perls/perl-5.20.0/bin/perl /usr/perls/perl-5.20.0/lib/5.20.0/ExtUtils/xsubpp -typemap /usr/perls/perl-5.20.0/lib/5.20.0/ExtUtils/typemap Tty.xs > Tty.xsc && mv Tty.xsc Tty.c gcc -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -fstack-protector -I/usr/perls/perl-5.20.0/ext/include -O3 -DVERSION=\"1.11\" -DXS_VERSION=\"1.11\" "-I/usr/perls/perl-5.20.0/lib/5.20.0/darwin-thread-multi-2level/CORE" -DHAVE_DEV_PTMX -DHAVE_GRANTPT -DHAVE_OPENPTY -DHAVE_POSIX_OPENPT -DHAVE_PTSNAME -DHAVE_SIGACTION -DHAVE_STRLCPY -DHAVE_TERMIOS_H -DHAVE_TTYNAME -DHAVE_UNLOCKPT -DHAVE_UTIL_H Tty.c In file included from Tty.xs:61: /usr/perls/perl-5.20.0/lib/5.20.0/darwin-thread-multi-2level/CORE/util.h:69: error: redefinition of typedef 'perl_drand48_t' /usr/perls/perl-5.20.0/lib/5.20.0/darwin-thread-multi-2level/CORE/util.h:69: error: previous declaration of 'perl_drand48_t' was here make: *** [Tty.o] Error 1
On Wed Jun 25 14:33:08 2014, SJM wrote: Show quoted text
> I'm using Darwin Kernel 10.7.0 ( OSX 10.6.7 ) to build IO::Tty using > perl-5.20.0 and make is failing. This works fine with perl-5.18.2 on > the same system, so I expect it's some interaction with the system and > the newest perl. >
<snip> Show quoted text
> > Writing IO::Tty::Constant.pm... > DEFINE = -DHAVE_DEV_PTMX -DHAVE_GRANTPT -DHAVE_OPENPTY > -DHAVE_POSIX_OPENPT -DHAVE_PTSNAME -DHAVE_SIGACTION -DHAVE_STRLCPY > -DHAVE_TERMIOS_H -DHAVE_TTYNAME -DHAVE_UNLOCKPT -DHAVE_UTIL_H > Checking if your kit is complete... > Looks good > Generating a Unix-style Makefile > Writing Makefile for IO::Tty > Writing MYMETA.yml and MYMETA.json > > % make > cp Pty.pm blib/lib/IO/Pty.pm > cp Tty/Constant.pm blib/lib/IO/Tty/Constant.pm > cp Tty.pm blib/lib/IO/Tty.pm > Running Mkbootstrap for IO::Tty () > chmod 644 Tty.bs > /usr/perls/perl-5.20.0/bin/perl /usr/perls/perl- > 5.20.0/lib/5.20.0/ExtUtils/xsubpp -typemap /usr/perls/perl- > 5.20.0/lib/5.20.0/ExtUtils/typemap Tty.xs > Tty.xsc && mv Tty.xsc > Tty.c > gcc -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict- > aliasing -pipe -fstack-protector -I/usr/perls/perl-5.20.0/ext/include > -O3 -DVERSION=\"1.11\" -DXS_VERSION=\"1.11\" "-I/usr/perls/perl- > 5.20.0/lib/5.20.0/darwin-thread-multi-2level/CORE" -DHAVE_DEV_PTMX > -DHAVE_GRANTPT -DHAVE_OPENPTY -DHAVE_POSIX_OPENPT -DHAVE_PTSNAME > -DHAVE_SIGACTION -DHAVE_STRLCPY -DHAVE_TERMIOS_H -DHAVE_TTYNAME > -DHAVE_UNLOCKPT -DHAVE_UTIL_H Tty.c > In file included from Tty.xs:61: > /usr/perls/perl-5.20.0/lib/5.20.0/darwin-thread-multi- > 2level/CORE/util.h:69: error: redefinition of typedef 'perl_drand48_t' > /usr/perls/perl-5.20.0/lib/5.20.0/darwin-thread-multi- > 2level/CORE/util.h:69: error: previous declaration of 'perl_drand48_t' > was here > make: *** [Tty.o] Error 1
I raised a pull request with a fix for this issue: https://github.com/toddr/IO-Tty/pull/3 You could try the patch: https://github.com/bingos/IO-Tty/commit/b59e8e2b6f001a135d49cb8f10a9ca4d49a1d5c5 Cheers.
On Thu Jun 26 10:28:14 2014, BINGOS wrote: Show quoted text
> On Wed Jun 25 14:33:08 2014, SJM wrote:
> > I'm using Darwin Kernel 10.7.0 ( OSX 10.6.7 ) to build IO::Tty using > > perl-5.20.0 and make is failing. This works fine with perl-5.18.2 on > > the same system, so I expect it's some interaction with the system > > and > > the newest perl. > >
> <snip>
> > > > Writing IO::Tty::Constant.pm... > > DEFINE = -DHAVE_DEV_PTMX -DHAVE_GRANTPT -DHAVE_OPENPTY > > -DHAVE_POSIX_OPENPT -DHAVE_PTSNAME -DHAVE_SIGACTION -DHAVE_STRLCPY > > -DHAVE_TERMIOS_H -DHAVE_TTYNAME -DHAVE_UNLOCKPT -DHAVE_UTIL_H > > Checking if your kit is complete... > > Looks good > > Generating a Unix-style Makefile > > Writing Makefile for IO::Tty > > Writing MYMETA.yml and MYMETA.json > > > > % make > > cp Pty.pm blib/lib/IO/Pty.pm > > cp Tty/Constant.pm blib/lib/IO/Tty/Constant.pm > > cp Tty.pm blib/lib/IO/Tty.pm > > Running Mkbootstrap for IO::Tty () > > chmod 644 Tty.bs > > /usr/perls/perl-5.20.0/bin/perl /usr/perls/perl- > > 5.20.0/lib/5.20.0/ExtUtils/xsubpp -typemap /usr/perls/perl- > > 5.20.0/lib/5.20.0/ExtUtils/typemap Tty.xs > Tty.xsc && mv Tty.xsc > > Tty.c > > gcc -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict- > > aliasing -pipe -fstack-protector -I/usr/perls/perl-5.20.0/ext/include > > -O3 -DVERSION=\"1.11\" -DXS_VERSION=\"1.11\" "-I/usr/perls/perl- > > 5.20.0/lib/5.20.0/darwin-thread-multi-2level/CORE" -DHAVE_DEV_PTMX > > -DHAVE_GRANTPT -DHAVE_OPENPTY -DHAVE_POSIX_OPENPT -DHAVE_PTSNAME > > -DHAVE_SIGACTION -DHAVE_STRLCPY -DHAVE_TERMIOS_H -DHAVE_TTYNAME > > -DHAVE_UNLOCKPT -DHAVE_UTIL_H Tty.c > > In file included from Tty.xs:61: > > /usr/perls/perl-5.20.0/lib/5.20.0/darwin-thread-multi- > > 2level/CORE/util.h:69: error: redefinition of typedef > > 'perl_drand48_t' > > /usr/perls/perl-5.20.0/lib/5.20.0/darwin-thread-multi- > > 2level/CORE/util.h:69: error: previous declaration of > > 'perl_drand48_t' > > was here > > make: *** [Tty.o] Error 1
> > I raised a pull request with a fix for this issue: > https://github.com/toddr/IO-Tty/pull/3 > > You could try the patch: > https://github.com/bingos/IO- > Tty/commit/b59e8e2b6f001a135d49cb8f10a9ca4d49a1d5c5 > > Cheers.
That did it, thanks!
On 2014-06-26 10:07:21, SJM wrote: Show quoted text
> On Thu Jun 26 10:28:14 2014, BINGOS wrote:
Show quoted text
> > I raised a pull request with a fix for this issue: > > https://github.com/toddr/IO-Tty/pull/3 > > > > You could try the patch: > > https://github.com/bingos/IO- > > Tty/commit/b59e8e2b6f001a135d49cb8f10a9ca4d49a1d5c5 > > > > Cheers.
> > That did it, thanks!
I have the same issue. Is there any chance this fix could be merged and released?
This is patched and 1.12 is on it's way to public.
Closing