Install of Pod::Spell failing on Strawberry Portable 5.20.2

122 Views Asked by At

When I try to cpanm Pod::Spell on Strawberry 5.20.2 (64bit PortableZIP edition), it flags I18N::Langinfo as a dependency. When it tries to download the distribution for I18N::Langinfo it locates it in R/RJ/RJBS/perl-520.0.tar.gz and, wisely, thinks better of continuing.

Pod::Spell is of interest only as a dependency of Perl::Critic.

Any suggestions as to how to untangle this dependency issue?

2

There are 2 best solutions below

2
Sinan Ünür On BEST ANSWER

Interesting. I looked for I18N::Langinfo on my self-built Perl on Windows, and it is not installed either. I would have expected it to be installed so that it could croak:

croak("nl_langinfo() not implemented on this architecture");

It seems to me the problem is not Strawberry or ActiveState specific (because I am building from source). It maybe worth building the current blead, and if I18N::Langinfo is still not being installed, reporting this as a bug to p5p.

Now, even if you could install the module however, I would not expect it to work with a non-Cygwin perl on Windows. Therefore, if Pod::Spell really depends on the module, it wouldn't work properly anyway.

But, frankly, looking at the code for Pod::Spell it is not immediately obvious to me why it should depend on I18N::Langinfo.

Therefore, I switched to cpanms work directory for Pod::Spell, and an nmake test (in your case, this would be dmake test with Strawberry Perl):

# *** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING ***
#
# The following REQUIRED prerequisites were not satisfied:
#
# I18N::Langinfo is not installed (any version required)
#
t\00-report-prereqs.t .. ok
t\basic.t .............. ok
t\debug.t .............. ok
t\get-stopwords.t ...... ok
t\text-block.t ......... ok
t\utf8.t ............... ok
All tests successful.
Files=7, Tests=24,  9 wallclock secs ( 0.13 usr +  0.02 sys =  0.14 CPU)
Result: PASS

Therefore, I went ahead, and installed the module using nmake install (in your case dmake install).

podspell seemed to work.

But, IMHO, you are better off just using aspell as in:

C:\...> aspell --mode=perl lib\Pod\Spell.pm

aspell spell checking Pod::Spell

Note: I am using Aspell 0.60.6.1 installed using Cygwin.

3
xenoterracide On

It's a bug that Pod::Spell depends on this module, I didn't carefully enough check someone else's patch in the last release. I temporary fix would be to install the previous release as the only real changes in this release were to podspell and not the whole module. It will be fixed in the future.