Skip Menu |

Preferred bug tracker

Please visit the preferred bug tracker to report your issue.

This queue is for tickets about the DateTime-TimeZone CPAN distribution.

Report information
The Basics
Id: 49382
Status: resolved
Priority: 0/
Queue: DateTime-TimeZone

People
Owner: Nobody in particular
Requestors:
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 0.96
Fixed in: 1.83



Subject: Cannot determine local time zone
The error message "Cannot determine local time zone" gives no indication Win32::TieRegistry isn't present, or that it is a prerequisite. This is probably because I installed DateTime::TimeZone with Makefile.PL, and yours is auto-generated by Module::Build::Compat. On the other hand, I'm not sure TieRegistry is needed at all C:\>perl -MPOSIX -le"print POSIX::strftime(qw!%Z!, 0,0,0,0,0,0,0,0,0)" Pacific Standard Time C:\>perl -MPOSIX -le"print POSIX::strftime(qw!%Z!, 0,0,0,0,0,0,0,0,1)" Pacific Daylight Time C:\>perl -MPOSIX -le"print for POSIX::tzname()" Pacific Standard Time Pacific Daylight Time Thanks
Subject: Re: [rt.cpan.org #49382] Cannot determine local time zone
Date: Wed, 2 Sep 2009 20:27:33 -0500 (CDT)
To: noreply via RT <bug-DateTime-TimeZone [...] rt.cpan.org>
From: Dave Rolsky <autarch [...] urth.org>
On Wed, 2 Sep 2009, noreply via RT wrote: Show quoted text
> This is probably because I installed DateTime::TimeZone with > Makefile.PL, and yours is auto-generated by Module::Build::Compat.
So, uh, don't do that. There's not really anything I can do here, short of removing the Makefile.PL entirely, and then someone else will complain about that. Show quoted text
> On the other hand, I'm not sure TieRegistry is needed at all > > C:\>perl -MPOSIX -le"print POSIX::strftime(qw!%Z!, 0,0,0,0,0,0,0,0,0)" > Pacific Standard Time > > C:\>perl -MPOSIX -le"print POSIX::strftime(qw!%Z!, 0,0,0,0,0,0,0,0,1)" > Pacific Daylight Time > > C:\>perl -MPOSIX -le"print for POSIX::tzname()" > Pacific Standard Time > Pacific Daylight Time
Do you know how this works on machines where the locale is something other than English? A lot of the gymnastics in DT::TZ::Local::Win32 are about getting an English version of the MS time zone name. I don't have a non-English Win32 box to test with. -dave /*============================================================ http://VegGuide.org http://blog.urth.org Your guide to all that's veg House Absolute(ly Pointless) ============================================================*/
I tested the following on a German 2003 R2 Server set to 'GMT Standard Time', which is the value looked for by DateTime::TimeZone: perl -MPOSIX -le"print POSIX::strftime(qw!%Z!, 0,0,0,0,0,0,0,0,0)" The response was: Westeuropõische Zeit Because DateTime::TimeZone still needs the English name to figure out the Olson mapping, this would not work.
On Tue Sep 15 17:16:55 2009, dpinkowitz wrote: Show quoted text
> I tested the following on a German 2003 R2 Server set to 'GMT Standard > Time', which is the value looked for by DateTime::TimeZone: > > perl -MPOSIX -le"print POSIX::strftime(qw!%Z!, 0,0,0,0,0,0,0,0,0)" > > The response was: > > Westeuropõische Zeit > > Because DateTime::TimeZone still needs the English name to figure out > the Olson mapping, this would not work.
Given this, I'm not sure that this issue is fixable. I can't get rid of the module, and I'm not going to hand-edit the generated Makefile.PL.