X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-2.0 required=5.0 tests=BAYES_00,SARE_MSGID_LONG40,SPF_PASS X-Spam-Check-By: sourceware.org MIME-Version: 1.0 Date: Tue, 16 Feb 2010 10:00:33 -0900 Message-ID: Subject: Workaround for installing Perl module DateTime::Locale From: Nathan Vonnahme To: cygwin AT cygwin DOT com Content-Type: text/plain; charset=ISO-8859-1 Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com 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