Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I get ActivePerl to play nicely with cygwin's screen?

I would like to use cygwin tools (screen) for development and invoking ActiveState Perl debugger from cygwin environment throws the following error.

bash-3.2$ perl -d test.pl
The system cannot find the path specified.
Unable to get Terminal Size. The Win32 GetConsoleScreenBufferInfo call didn't work. The COLUMNS and LINES environment variables didn't work. The resiz
e program didn't work. at F:/Perl/lib/Term/ReadKey.pm line 362.
Compilation failed in require at F:/Perl/lib/Term/ReadLine/Perl.pm line 64.
 at F:/Perl/lib/Term/ReadLine/Perl.pm line 64
        Term::ReadLine::Perl::new('Term::ReadLine', 'perldb', 'GLOB(0x18e2e0c)', 'GLOB(0x1883e14)') called at F:/Perl/lib/perl5db.pl line 6073
        DB::setterm called at F:/Perl/lib/perl5db.pl line 2237
        DB::DB called at testReliance1.pl line 2
Attempt to reload Term/ReadLine/readline.pm aborted.
Compilation failed in require at F:/Perl/lib/Term/ReadLine/Perl.pm line 64.
END failed--call queue aborted at testReliance1.pl line 64.
 at testReliance1.pl line 64
bash-3.2$

I couldn't find any workaround for this.
Tried to use cygwin perl distrubution,but compiling perl modules under cpan is nightmare for me as most of them won't compile and don't have in-depth knowledge to fix compiler errors.

Providing a fake terminal for debugger may work but no idea about feasibility and how to proceed.
Please suggest if there is any workaround for this.

like image 860
Naga Kiran Avatar asked Jan 22 '10 21:01

Naga Kiran


1 Answers

From the "Environment" section of the Term::ReadLine documentation :

The environment variable PERL_RL governs which ReadLine clone is loaded. If the value is false, a dummy interface is used.

As a workaround until the incompatibility is sorted out, you can disable Term::ReadLine with

bash$ PERL_RL=0 perl -d test.pl
like image 92
Greg Bacon Avatar answered Nov 15 '22 04:11

Greg Bacon