[tz] Unable to compile Antarctica/Macquarie

Alan Gutierrez alan at prettyrobots.com
Thu May 23 02:21:46 UTC 2013


I'm compiling the TZ database using the using the `zic` from the source
distributed with the database checked out from GitHub. I'm using the commit that
relates to the `tz2013c` release. I'm not able to get an Australian EST timezone
offset for dates before October 1916 for Antarctica/Macquarie.

I'm using both Ruby 1.9.3p392 and GNU date 8.15.

When I compile the TZ database at commit 188b29d966; "Fix times of habitation
for Macquarie to agree with Tasmania history" I get the unhabited offset and
abbreviation.

 % TZ="$PWD/build/zoneinfo/Antarctica/Macquarie" date -d "1916/09/30 16:00 UTC"
Sun Oct  1 03:00:00 EST 1916
 % TZ="$PWD/build/zoneinfo/Antarctica/Macquarie" date -d "1916/09/30 15:59 UTC"
Sat Sep 30 15:59:00 zzz 1916

When I compile the TZ database at commit a676f5ad3b; "Macquarie Island is
politically part of Australia, not Antarctica" I get the correct offset and
abbreviation.

 % TZ="$PWD/build/zoneinfo/Antarctica/Macquarie" date -d "1916/09/30 16:00 UTC"
Sun Oct  1 03:00:00 EST 1916
 % TZ="$PWD/build/zoneinfo/Antarctica/Macquarie" date -d "1916/09/30 15:59 UTC"
Sun Oct  1 01:59:00 EST 1916

Using this commit, if I change the date of the first line of the Zone from "1899
Nov" back to "1911", it starts to work again. 

Here is the change set that causes the confusion.

https://github.com/eggert/tz/commit/188b29d9664cfcf0384e515c69f94a2dfc27c673

I am on a 32-bit system but in my experience, I'm always able to get a correct
timezone offset for dates in 1916 regardless of whether or not the zone begins
before the range of a 32-bit POSIX time.

--
Alan Gutierrez ~ @bigeasy


More information about the tz mailing list