[tz] No time zone on Solaris servers

Paul Eggert eggert at cs.ucla.edu
Thu Aug 25 22:46:57 UTC 2022

On 8/25/22 16:30, W CUI wrote:
> execve("/usr/bin/date", 0x08047AE4, 0x08047AEC)  argc = 1

Oh, I think I see the problem now. You're running 32-bit Solaris 10, 
which predates Internet RFC 8536 and does not follow its Section 4 
recommendation "When reading a version 2 or 3 file, implementations 
SHOULD ignore the version 1 header and data block except for the purpose 
of skipping over them." <https://www.rfc-editor.org/rfc/rfc8536#section-4>

For these obsolescent systems, you should install fat files, e.g,:

make TOPDIR=/newtz ZFLAGS='-b fat' install

Fat files contain extra 32-bit data needed by obsolescent 32-bit-only 
TZif readers like 32-bit Solaris 10.

Oracle says they'll support Solaris 10 only through January 2024, and 
might have not worried that 32-bit Solaris 10 does not follow that RFC 
8536 recommendation, as 32-bit Solaris apps (even if running in 
compatibility mode in current Solaris) will stop working anyway in the 
year 2038 due to time_t wraparound. However, as you have found, it is 
awkward that 32-bit Solaris 10 can't read today's TZif files, so if you 
are an Oracle customer who needs to run old executables with current TZ 
data you might consider filing a bug report with Oracle about this issue.

More information about the tz mailing list