Re: [Pgbuildfarm-members] [Fwd: RE: Build farm on Windows] - Mailing list pgsql-hackers

From Tom Lane
Subject Re: [Pgbuildfarm-members] [Fwd: RE: Build farm on Windows]
Date
Msg-id 999.1154119190@sss.pgh.pa.us
Whole thread Raw
In response to Re: [Pgbuildfarm-members] [Fwd: RE: Build farm on Windows]  (Stefan Kaltenbrunner <stefan@kaltenbrunner.cc>)
Responses Re: [Pgbuildfarm-members] [Fwd: RE: Build farm on Windows]  (Andrew Dunstan <andrew@dunslane.net>)
List pgsql-hackers
Stefan Kaltenbrunner <stefan@kaltenbrunner.cc> writes:
> WARNING:  could not read time zone file
> "/home/pgbuild/devel/pginst/share/postgresql/timezonesets/Default": No
> such file or directory

> so it's there but as a msys-virtual path - is that get passed to some
> win32 function expecting a windows-style path ?

Doh, I see what's the problem: we calculate the sharedir path using
my_exec_path, and falling back to the hardwired PGSHAREDIR path if
my_exec_path isn't correct.  The problem is that in a Windows
subprocess, my_exec_path isn't correct until read_backend_variables
has been done, and *that happens after InitializeGUCOptions* in
SubPostmasterMain().  So we're trying to set up the tz name data
before we have the path we need.

The reason I didn't notice this in testing with EXEC_BACKEND is that
I wasn't testing in a relocated installation, and so the fallback
get_share_path calculation got the right answer anyway.

Not sure about a clean fix.  Probably we'll have to do something
similar to the way TimeZone is handled, where we don't try to read
in the data until later on in the initialization sequence.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Andrew Dunstan
Date:
Subject: Re: [Pgbuildfarm-members] [Fwd: RE: Build farm on Windows]
Next
From: Phil Frost
Date:
Subject: Re: lastval exposes information that currval does not