So, I recently upgraded my Cygwin setup, and broke a Perl script I use which uses a lot of CPAN modules. Here are the relevant version details:
setup.exe version 2.682 This is perl, v5.10.1 (*) built for i686-cygwin-thread-multi-64int /usr/bin/cpan script version 1.9, CPAN.pm version 1.9402 The errors were coming from DateTime::Locale, so I tried reinstalling it with CPAN, and it failed its tests with errors like these: Use of uninitialized value $id in pattern match (m//) at /cygdrive/d/src/.cpan/build/DateTime-Locale-0.44-mPUCHD/blib/lib/DateTime/Locale.pm line 65. Use of uninitialized value $id in exists at /cygdrive/d/src/.cpan/build/DateTime-Locale-0.44-mPUCHD/blib/lib/DateTime/Locale.pm line 68. Use of uninitialized value $native_pieces[0] in join or string at /cygdrive/d/src/.cpan/build/DateTime-Locale-0.44-mPUCHD/blib/lib/DateTime/Locale.pm line 83. Use of uninitialized value $id in hash element at /cygdrive/d/src/.cpan/build/DateTime-Locale-0.44-mPUCHD/blib/lib/DateTime/Locale.pm line 85. Use of uninitialized value $id in hash element at /cygdrive/d/src/.cpan/build/DateTime-Locale-0.44-mPUCHD/blib/lib/DateTime/Locale.pm line 90. Use of uninitialized value $id in pattern match (m//) at /cygdrive/d/src/.cpan/build/DateTime-Locale-0.44-mPUCHD/blib/lib/DateTime/Locale.pm line 65. Use of uninitialized value $id in exists at /cygdrive/d/src/.cpan/build/DateTime-Locale-0.44-mPUCHD/blib/lib/DateTime/Locale.pm line 68. Use of uninitialized value $id in concatenation (.) or string at /cygdrive/d/src/.cpan/build/DateTime-Locale-0.44-mPUCHD/blib/lib/DateTime/Locale.pm line 68. You cannot replace an existing locale ('') unless you also specify the 'replace' parameter as true BEGIN failed--compilation aborted at /cygdrive/d/src/.cpan/build/DateTime-Locale-0.44-mPUCHD/blib/lib/DateTime/Locale.pm line 151. I saw the same errors going back several versions in the historical cygwin results at http://matrix.cpantesters.org/?dist=DateTime-Locale+0.44 , for example, http://www.cpantesters.org/cpan/report/5378340 -- so they have been an issue for at least some Cygwin users with different Perl releases. I got the module to build, test and install cleanly by running the dos2unix command on all the *.pm files. So it's a line-ending thing... I don't know how or why it would be unpacking them with DOS endings, but I wanted to report the workaround. Maybe it's related to multibyte .pm files? I also don't know where the underlying cause or solution would be. Is there something in Cygwin that should behave differently? Perl? Cpan? The module itself? Cheers, nathan -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple