Date: Mon, 13 Jul 2026 14:43:28 +0000
From: Rune Torgersen via tz <[email protected]>
Message-ID:
<ch3pr13mb6747eab1dd7b4a25d865b3b2c4...@ch3pr13mb6747.namprd13.prod.outlook.com>
| I can get tzcode+data 2026c to compile/install (with a warning),
| but the resulting files do not work with the glibc version I have
FWIW, probably not a lot since you seem to have it working now,
when in a situation like yours, I would be ignoring updated tzcode
completely. Use the version of zic that accompanied the installed
libc (glibc), that way you're certain the resulting files will be
compatible.
You might need to massage some of the zone data files slightly, to make
them compatible with an older zic (stop using new stuff the old one didn't
support), but zic from its inception was able (one way or another) to handle
just about anything that the lawmakers could throw at it, and certainly
the current Canadian changes - perhaps not always as easily as the modern
one, but adequately enough.
Since for your use I doubt your users use much in the way of "exotic"
timezones, and the ones they do use won't have anything too bizarre, so
this would not be too great an effort.
And in a later message, you said:
| most of our custom software uses signed 32bit for time,
That's exactly what time_t is in the systems you're using, so unless you
mean unsigned, instead of signed (and you don't need anything from libc to
convert it to human meaningful form), then you should be OK until sometime
in Feb 2106, by which time I doubt it will be your problem to solve, and
certainly not mine.
But if you really mean signed 32 bit, and still using the 1970 epoch, and
counting seconds, then in mid Jan 2038, all the clocks will revert to 1902.
kre
ps: There are still more than 11 years until 2038, computing equipment
rarely is planned to last a lot longer than that - it would be wise to
start having a newer system, with updated everything, available for your
users to switch to, when they need replacements anyway, so they can
seemlessly migrate to stuff that will just keep working without 2038
meaning anything at all. But now (or even better, years ago) is when
that activity needs to start.