delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2008/07/08/11:41:58

X-Recipient: archive-cygwin AT delorie DOT com
X-Spam-Check-By: sourceware.org
Message-ID: <6910a60807080841s1af07bf7q83dd9820ccb484c9@mail.gmail.com>
Date: Tue, 8 Jul 2008 17:41:20 +0200
From: "Reini Urban" <rurban AT x-ray DOT at>
To: cygwin AT cygwin DOT com
Subject: Re: perl-5.10.0-4 -> perl-5.10.0-5 update appears to break DateTime
In-Reply-To: <BC63B2B8CA0F4F81B6C0241599C8178E@DFW5RB41>
MIME-Version: 1.0
References: <BC63B2B8CA0F4F81B6C0241599C8178E AT DFW5RB41>
X-Google-Sender-Auth: 36281288a4b09ca8
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

2008/7/8 Gary R. Van Sickle <g DOT r DOT vansickle AT worldnet DOT att DOT net>:
> Hi Reini,
>
> It looks like something changed between perl 5.10.0-4 and -5 which breaks
> the DateTime module from CPAN (version 0.4302, latest).  The attached Simple
> Test Case(tm) results in only the following errors:
>
> Use of uninitialized value $id in pattern match (m//) at
> /usr/lib/perl5/site_perl/5.10/DateTime/Locale.pm line 65.

Bad side-effect with a third party module in site_perl.
Strange that I didn't see this in my tests, because I tested over
thousand CPAN modules with this release.
Oh, I see, I reported that it failed on June 5.

$ cpan DateTime
requires DateTime::Locale

DateTime::Locale cannot be installed because of this error,
but since you upgraded perl we have to fix DateTime::Locale now.

Oops. This seems to affect more modules.
Params::Validate with type => SCALAR seems to be broken.
  http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Params%3A%3AValidate

I have to go now, but will provide a patch soon.
As workaround I would disable the validation in DateTime::Locale::_register
but this also doesn't work as expected.

    if (! defined $p{id} or !$id) {
	# cygperl5 error in Params::Validate?
	#warn "Broken Params::Validate. Given ".join(",",@_);
        $p{id} = $_[0];
        $p{en_language} = $_[1];
	my @keys = qw(en_script en_territory en_variant native_language
native_script native_territory native_variant class replace);
	for my $i (2 .. @_) {
	    $p{$keys[$i]} = $_[$i];
	}
    }


> Use of uninitialized value $id in exists at
> /usr/lib/perl5/site_perl/5.10/DateTime/Locale.pm line 68.
> Use of uninitialized value $native_pieces[0] in join or string at
> /usr/lib/perl5/site_perl/5.10/DateTime/Locale.pm line 83.
> Use of uninitialized value $id in hash element at
> /usr/lib/perl5/site_perl/5.10/DateTime/Locale.pm line 85.
> Use of uninitialized value $id in hash element at
> /usr/lib/perl5/site_perl/5.10/DateTime/Locale.pm line 90.
> Use of uninitialized value $id in pattern match (m//) at
> /usr/lib/perl5/site_perl/5.10/DateTime/Locale.pm line 65.
> Use of uninitialized value $id in exists at
> /usr/lib/perl5/site_perl/5.10/DateTime/Locale.pm line 68.
> Use of uninitialized value $id in concatenation (.) or string at
> /usr/lib/perl5/site_perl/5.10/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
> /usr/lib/perl5/site_perl/5.10/DateTime/Locale.pm line 151.
> Compilation failed in require at
> /usr/lib/perl5/site_perl/5.10/i686-cygwin/DateTime.pm line 46.
> BEGIN failed--compilation aborted at
> /usr/lib/perl5/site_perl/5.10/i686-cygwin/DateTime.pm line 46.
> Compilation failed in require at ./simple_test_case_datetime.pl line 3.
> BEGIN failed--compilation aborted at ./simple_test_case_datetime.pl line 3.
>
> Doing the "perl -MExtUtils::Installed [...]"/"cpan `cat module.list`" thing
> (and also a "force install DateTime") results in the same errors, and
> needless to say doesn't end up generating a working DateTime module.  This
> same version of DateTime did work without error in 5.10.0-4 and does work
> with 5.8.8-4.
>
> --
> Gary R. Van Sickle
>
> --
> Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
> Problem reports:       http://cygwin.com/problems.html
> Documentation:         http://cygwin.com/docs.html
> FAQ:                   http://cygwin.com/faq/
>



-- 
Reini Urban
http://phpwiki.org/ http://murbreak.at/

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019