Skip Menu |

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

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

People
Owner: Nobody in particular
Requestors: vitaliy.tokarev [...] gmail.com
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 1.10
Fixed in: 1.13_01



Subject: MAP_TARGET in Makefile.PL
Hello, Is there any good reason for redefining MAP_TARGET in the Makefile.PL? For instance, App::Staticperl expects MAP_TARGET has default value 'perl'. You may see build log below. cpan[2]>install IO::Pty .... All tests successful. Files=1, Tests=5, 3 wallclock secs ( 0.03 usr 0.00 sys + 0.24 cusr 0.30 csys = 0.57 CPU) Result: PASS TODDR/IO-Tty-1.10.tar.gz /usr/bin/make test -- OK Running make install Skip blib/lib/IO/Tty.pm (unchanged) Skip blib/lib/IO/Tty/Constant.pm (unchanged) Skip blib/lib/IO/Pty.pm (unchanged) Probably a static XS module, rebuilding perl make: *** No rule to make target `perl'. Stop. rm -f ./perlmain.o ./perlmain.c perltty Makefile.aperl blib/arch/auto/IO/Tty/extralibs.all TODDR/IO-Tty-1.10.tar.gz /home/tvv/.staticperl-5.18.1/perl/bin/SP-make-install-make install -- NOT OK Failed during this command: TODDR/IO-Tty-1.10.tar.gz : install NO Ok, what is in Makefile? $ grep -A5 -B5 makeaperl Makefile # --- MakeMaker staticmake section: # --- MakeMaker makeaperl section --- MAP_TARGET = perltty FULLPERL = /home/tvv/.staticperl-5.18.1/perl/bin/perl $(MAP_TARGET) :: static $(MAKE_APERL_FILE) $(MAKE) $(USEMAKEFILE) $(MAKE_APERL_FILE) $@ So, if I remove MAP_TARGET definition in Makefile.PL all is good. Patch is in attachement. Ref. to staticperl: http://search.cpan.org/perldoc?staticperl
Subject: IO_Tty-01.diff
--- Makefile.PL.orig 2013-12-23 10:50:43.353559493 +0400 +++ Makefile.PL 2013-12-23 10:51:09.983826393 +0400 @@ -406,7 +406,8 @@ 'LIBS' => join(" ", @libs), 'clean' => {'FILES' => 'xssubs.c conf Tty.exp_old log'}, 'realclean' => {'FILES' => 'Tty IO-Tty.ppd'}, - 'MAP_TARGET' => 'perltty', +# staticperl expects MAP_TARGET = perl +# 'MAP_TARGET' => 'perltty', 'AUTHOR' => 'Roland Giersig <RGiersig@cpan.org>', 'ABSTRACT' => 'Pseudo ttys and constants', 'LICENSE' => 'perl',
I'm assuming $^O eq 'MSWin32' on your perl? Only cygwin is supported on windows at this point because Windows does not have anything close to a Tty
From: vitaliy.tokarev [...] gmail.com
On Mon May 05 10:42:35 2014, TODDR wrote: Show quoted text
> I'm assuming $^O eq 'MSWin32' on your perl? Only cygwin is supported > on windows at this point because Windows does not have anything close > to a Tty
Hi, I had to built IO::Pty in this case on Linux machine. The problem is that MAP_TARGET field defines the target into auto-generated file Makefile. Of course executing `make perl' command will fall because Makefile does not contains that target. This issue would related to staticperl too, because the string is hardcoded. For common use I see no reason to redefine MAP_TARGET variable. The target file with name described in MAP_TARGET will be created in a temporary build directory. Most modules does not use this variable and your module was first. And I asked for reason, for instance, debug only usage, so if you know that variable is correct, then ok. I dont know too much about internal variables of Perl... Anyway, I resolved my problem via workaround described above and issue may be closed. Thank you!
Honestly I don't have enough history here to know why it was done. But for the moment, I'm going to yank it and try a dev release. EU::MM seems to indicate it's harmless for me to remove
On Sun Dec 14 02:53:46 2014, TODDR wrote: Show quoted text
> Honestly I don't have enough history here to know why it was done. But > for the moment, I'm going to yank it and try a dev release. EU::MM > seems to indicate it's harmless for me to remove
https://github.com/toddr/IO-Tty/commit/3963a70bdbd9216685fe91c29b7c8d32ae707b5f