Time zone confusion and implementation hints

Yves Goergen nospam.list at unclassified.de
Tue Jul 6 15:55:50 UTC 2010

I have now tried to compile it with MinGW using the makefile but it
doesn't work either. Here's the output:

> C:\Programme\MinGW\tz>mingw32-make
> makefile:306: warning: overriding commands for target `install'
> makefile:287: warning: ignoring old commands for target `install'
> sed \
>                         -e 's|AWK=[^}]*|AWK=nawk|g' \
>                         -e 's|TZDIR=[^}]*|TZDIR=/usr/local/etc/zoneinfo|' \
>                         <tzselect.ksh >tzselect
> chmod +x tzselect
> process_begin: CreateProcess(NULL, chmod +x tzselect, ...) failed.
> make (e=2): Das System kann die angegebene Datei nicht finden.
> mingw32-make: *** [tzselect] Error 2

(The second-last line says: The system cannot find the specified file.)

On 06.07.2010 17:16 CE(S)T, lennox at cs.columbia.edu wrote:
> zic uses the low-level POSIX file I/O calls (open/read/write) rather than
> the high-level C file I/O calls (fopen/fread/fwrite)

POSIX shouldn't be too much of a problem on Windows, AFAIK it offers
such an API.

IIRC with VS2008 it was functions like _getopt or so that were
eventually unresolved which caused the linker to fail. The code itself
compiled. I specified the single .c files though (try&error to find out
the set of files) and not the makefile.

> Fortunately, Cygwin <http://cygwin.com/> provides an excellent POSIX
> emulation for Windows, and includes the tzcode binaries (zic and friends)
> and the generated tzdata files in its base distribution.

For some reason I traditionally dislike cygwin. The last times I've seen
it it was huge and bloated. It felt like installing an entire Linux upon
Windows. Also this seems like a massive measure only to get those
timezone data converted in a processable format.

I have rethought the requirements for my calendar application and I
think I can restrict the operation time from 1970 to 2099. That seems a
reasonable timespan to use my calendar app in. Since the original zic
would generate transition times from something around 1970 to 2038, I'd
need to change that anyway. So I must be able to compile my customised
version of zic if I got that right. And if that changes a lot and it's
up to me (as the application publisher) to handle updates then I'd
really like to be able to quickly build a new zic and not wait for
cygwin to gracefully release an update.

Yves Goergen "LonelyPixel" <nospam.list at unclassified.de>
Visit my web laboratory at http://beta.unclassified.de

More information about the tz mailing list