On Tue, Dec 23, 2008 at 3:56 PM, Steffen Mueller
<wyp3rl...@sneakemail.com> wrote:
>> But I don't have a solution  to my problem with i18n and Curses::UI. Any
>> idea about what Module::ScanDeps isn't finding, if that is indeed the
>> culprit?
>
> Hmm. Curses::UI is an oddball.

That's putting it modestly. I almost puked when I saw it's way of
handling i18n :)

> $ pp -o hello -e 'use i18n; use Curses::UI; print "Hello, world!\n";'
> $ ./hello
> Can't locate object method "print" via package "FileHandle" at
> /usr/share/perl5/Archive/Zip/Member.pm line 935.
> Compilation failed in require at Curses/UI/Common.pm line 19.

I can reproduce it here with Perl 5.10.0 on Linux.
That problem seems to be a weird interaction between i18n, Curses::UI
and PAR - if I leave out any of the above, it works.
Hmm, looks like it's rather Term::ReadKey than Curses::UI,
because the following fails, too:

$ pp -o hello2 -e 'use i18n; use Term::ReadKey; print "OK\n";'
$ ./hello2
Can't locate object method "print" via package "FileHandle" at
/usr/share/perl5/Archive/Zip/Member.pm line 935.
Compilation failed in require at script/pp_seLU.pl line 1.
BEGIN failed--compilation aborted at script/pp_seLU.pl line 1.

strace shows that the error happens while bootstrapping Term::ReadKey,
probably when trying to extract ReadKey.so from the zip archive hello2.

Actually, i18n.pm seems to be real culprit: If I switch the order of the
above "use"s, hello2 runs fine. Same if I replace Term::ReadKey
with another module that has a shared glue library (and isn't one of the
core modules already loaded, e.g. Devel::Peek).

Cheers, Roderich

Reply via email to