Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

n1vux (1492)

n1vux
  (email not shown publicly)
http://boston.pm ... x.cgi?BillRicker
AOL IM: n1vux (Add Buddy, Send Message)
Yahoo! ID: n1vux (Add User, Send Message)

Only started with Perl4 and Perl5 in 1995. I was doing AWK etc for 12 years before that, and resisted switching. I've been doing OO since before C++ hit bigtime, with Objective-C and SmallTalk, so I really like the (no longer new) Perl5 OO style; and the Lispish Map style is also an old friend. What do I hack with Perl? All data that passes my way; systems monitoring scripts at $DayJob, weather data at night, and I cheat on NPR word puzzles. Member: Boston.pm.org [pm.org] BLU.org [blu.org] /. LinkedIn [linkedin.com]

N1VUX is my FCC-issued ham radio callsign.

Journal of n1vux (1492)

Monday January 22, 2007
10:25 PM

Daylight Saving Time and Perl - Issues

[ #32234 ]

General advice has been that if the OS is patched for the DST change, Perl will be OK between March 11 and Apr 4, when US DST starts 3 weeks early this year. e.g., http://www.perlmonks.com/?node=daylight+savings

However, RedHat Enterprise Linux 3's Perl 5.8.0 doesn't notice that the DST date for the OS changed. I grabbed a "dst.pl" test script from HP Support's forumsscript and it's working fine everywhere else, but appears to report "unpatched" on the RHEL3 system that is patched according to ZDUMP(8) and release levels.

Is this perhaps GCC 2 => GCC 3 transistion legacy baggage?

That was my guess, and nm(1) seems to support - it reports built with GLIBC232 while RHEL3 is GLIBC323 (subtle, these two numbers). But NM also appears to say it's dyanmically linked and I don't see an older glibc on the box?

Anyone know for sure?

=====================

UPDATE #1

GLIBC2.0 seems to have been a red herring, perl -V says it was built with GCC323, and if I build a new HelloWorld0311.c that expands a time_t value between 2007-03-11 2AMEST and 04-04 2AMEST, it behaves identically. Report from a colleague with a RHEL2.1 system is that perl is correct there, but not on his RHEL3 with home-built Perl 5.8.8 too. This starts to make sense, since Red Hat notes on DST said they were issuing a LIBC patch for RHEL2.1 but only an Olson TZ (zoneinfo) file for RHEL3.

I think we need a RHEL3 LIBC patch to have Perl and C localtime() working.

=====================

UPDATE #2

See BLU.org discussion - http://lists.blu.org/pipermail/discuss/2007-January/052070.html. Either redeploying /etc/{.|locales?}/localtime from /usr/share/{.|lib}/zoneinfo after patching or applying all RHEL3/4 patches not just the suggested one seems to be the trick. Perhaps the patch failed to refresh because our RHEL3 install is missing the needed tzconfig utility, but it looks like cp would do the trick.

=====================

FYI, DateTime::TimeZone is another issue ... it has it's own Olson TZ/zoneinfo, that's it's whole point, it's independent, so it needs to be updated instead of or in addition to the OS, that's a feature. http://www.perlmonks.com/?node_id=593399 http://beta.nntp.perl.org/group/perl.datetime/2007/01/msg6591.html http://beta.nntp.perl.org/group/perl.datetime/2007/01/msg6583.html

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • Presuming 2007a of the Olson Database is up to date, apparently DateTime::TimeZone [cpan.org] is already ok.
    --
    • Randal L. Schwartz
    • Stonehenge
    • Yeah. If you've downloaded since 0.36 or 0.38 even since Olson 2005l had it. And the only reason to HAVE DT::TZ is if you WANT to grab these early and often, so hopefully this is the one module people update on their production servers. But someone probable has an old copy ...
      --
      Bill
      # I had a sig when sigs were cool
      use Sig;