Re: BUG #13594: pg_ctl.exe redirects stderr to Windows Events Log if stderr is redirected to pipe - Mailing list pgsql-bugs

From Michael Paquier
Subject Re: BUG #13594: pg_ctl.exe redirects stderr to Windows Events Log if stderr is redirected to pipe
Date
Msg-id CAB7nPqSbaFxi=4BrmMeoqAbbFz5uTAPcCKTMs4kvda_jHugzcA@mail.gmail.com
Whole thread Raw
In response to Re: BUG #13594: pg_ctl.exe redirects stderr to Windows Events Log if stderr is redirected to pipe  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: BUG #13594: pg_ctl.exe redirects stderr to Windows Events Log if stderr is redirected to pipe
List pgsql-bugs
On Fri, Jan 8, 2016 at 11:18 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Michael Paquier <michael.paquier@gmail.com> writes:
>> On Fri, Jan 8, 2016 at 12:11 AM, Alvaro Herrera
>> <alvherre@2ndquadrant.com> wrote:
>>> Pushed.  Obviously I didn't compile any of this, so let's see how the
>>> buildfarm likes it.
>
>> It didn't like it much. Thanks for the push and for the post-turbulence =
fixes.
>
> brolga is still unhappy:
>
> gcc-4 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-stat=
ement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-stri=
ct-aliasing -fwrapv -g -O2 -I../../../src/interfaces/libpq -I../../../src/i=
nclude -I/usr/include/libxml2   -c -o pg_ctl.o pg_ctl.c
> pg_ctl.c: In function =E2=80=98write_stderr=E2=80=99:
> pg_ctl.c:219: warning: implicit declaration of function =E2=80=98pgwin32_=
is_service=E2=80=99
> gcc-4 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-stat=
ement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-stri=
ct-aliasing -fwrapv -g -O2 pg_ctl.o  -L../../../src/common -lpgcommon -L../=
../../src/port -lpgport -L../../../src/interfaces/libpq -lpq  -L../../../sr=
c/port -L../../../src/common -Wl,--allow-multiple-definition -Wl,--enable-a=
uto-import -L/usr/lib  -L/usr/local/lib -Wl,--as-needed   -lpgcommon -lpgpo=
rt -lxslt -lxml2 -lz -lreadline -lcrypt -o pg_ctl.exe
> pg_ctl.o: In function `write_stderr':
> /home/andrew/bf/root/HEAD/pgsql.build/src/bin/pg_ctl/pg_ctl.c:219: undefi=
ned reference to `_pgwin32_is_service'
> collect2: ld returned 1 exit status
> make[3]: *** [pg_ctl] Error 1
>
> Too soon to tell about the other Windows critters.

Hm. It is not that straight-forward... and I have to admit that I will
have little time to look into that until Monday/Tuesday with a real
working environment. Now, looking at those logs, none of the win32*.c
files actually are included in the OBJS list in src/port/Makefile, so
it would seem that the correct way of going is to have the definition
of those new routines in include/port.h for all cases, and include
win32security.c in the list of objects compiled. But those are only
assumptions as I would need a cygwin environment to check that
properly at this stage.

Now, backbranches are proving that compiling pg_ctl.c with those
routines copied in it actually works fine, so based on my limited time
for the next couple of days, it may be better to just revert the patch
entirely on HEAD and apply what has been pushed into back branches to
stabilize the buildfarm, this will address the bug entirely. And it is
no good to keep the buildfarm red for long,
--=20
Michael

pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: BUG #13594: pg_ctl.exe redirects stderr to Windows Events Log if stderr is redirected to pipe
Next
From: Tom Lane
Date:
Subject: Re: BUG #13594: pg_ctl.exe redirects stderr to Windows Events Log if stderr is redirected to pipe