Thu Jan 23 19:06:00 2014: Request 92402 was acted upon. Transaction: Correspondence added by LAWALSH Queue: Inline Subject: Inline asks interactive question -- but doesn't have keyboard Broken in: (no value) Severity: Important Owner: Nobody Requestors: pa...@tlinx.org Status: open Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=92402 >
On Thu Jan 23 01:25:12 2014, DAVIDO wrote: > > > Do you want to install Inline::C? [y] y > > At this point you're experiencing the Makefile.PL for Inline::C, as > the CPAN installer runs all Makefile.PL's within the distribution > recursively. The prompting is handled by ExtUtils::MakeMaker's > prompt() function. And as you see within the "[y]" square brackets, > prompt() is being directed to supply a default. ---- Right -- but then it **waits*** for input. The input never comes, because my input is being redirected "elsewhere" (dunno). > ExtUtils::MakeMaker. If you don't like how > ExtUtils::MakeMaker::prompt works, and for the most part, prompt() > works flawlessly across a broad range of systems and configurations; > it has to, being part of EU::MM. ---- It's not a matter of "like" -- it's a matter of it stopping at any interactive prompt (most have some default), and waiting for input. Then it "pseudo-dies"-- due to hitting the timeout value in my CPAN config file. (usually set to 15 seconds). > > The next issue to consider is how the cpan installer works. The basic > 'cpan' installer (provided by App::cpan) doesn't (to my knowledge) > provide an option for interactive installations. ---- The rest of this seems not relevant, as I don't want interactive, but during non-interactive build, 1) CPAN pauses at any such point to wait for input (even w/a default) until it hits the 'inactivity timeout value. 2) Then the exit via signal is detected by CPAN as an error and no default is taken. > > (/home/perl/perl-5.16.3/bin/perl Makefile.PL exited with 9) > > --------------------- > > This problem, I haven't seen before. But it's not related to > prompting. ---- It is only Makefile.PL's that prompt that have this problem. To say that it isn't related to prompting isn't supported by the evidence. I don't know if it would help, but maybe the makefile.pl needs to check to see if /dev/stdin is a character device. If it is a pipe (which I'm guessing is the case here, as /dev/stdin isn't being read from the /dev/tty input), then just do the default -- don't prompt. The fact that you're able to achieve a successful install > manually (make, make test, make install) indicates that your setup is > capable of installing Inline and Inline::C. And as indicated earlier, > the prompting is working as intended. ---- Only when it receives input -- which it does in manual mode. But when run automatically, the prompting waits instead of immediately taking the default, and eventually times out returning an error in the Makefile.PL run to CPAN.