Re: pgsql: pg_rewind: Allow writing recovery configuration - Mailing list pgsql-committers

From Andres Freund
Subject Re: pgsql: pg_rewind: Allow writing recovery configuration
Date
Msg-id 20190930192013.r3wievljua2n3tbb@alap3.anarazel.de
Whole thread Raw
In response to pgsql: pg_rewind: Allow writing recovery configuration  (Alvaro Herrera <alvherre@alvh.no-ip.org>)
Responses Re: pgsql: pg_rewind: Allow writing recovery configuration  (Alvaro Herrera <alvherre@2ndquadrant.com>)
List pgsql-committers
Hi,

On 2019-09-30 17:11:09 +0000, Alvaro Herrera wrote:
> pg_rewind: Allow writing recovery configuration
> 
> This is provided with a new switch --write-recovery-conf and reuses the
> pg_basebackup code.
> 
> Author: Paul Guo, Jimmy Yih, Ashwin Agrawal
> Reviewed-by: Alexey Kondratov, Michaël Paquier, Álvaro Herrera
> Discussion: https://postgr.es/m/CAEET0ZEffUkXc48pg2iqARQgGRYDiiVxDu+yYek_bTwJF+q=Uw@mail.gmail.com

This currently fails on windows under mingw:
https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=jacana&dt=2019-09-30%2018%3A00%3A36

Sep 30 14:11:02 ccache x86_64-w64-mingw32-gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement
-Werror=vla-Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv
-fexcess-precision=standard-Wno-format-truncation -g -O2 pg_rewind.o parsexlog.o xlogreader.o datapagemap.o timeline.o
fetch.ofile_ops.o copy_fetch.o libpq_fetch.o filemap.o win32ver.o -L../../../src/port -L../../../src/common
-L../../../src/common-lpgcommon -L../../../src/port -lpgport -L../../../src/interfaces/libpq -lpq
-L../../../src/fe_utils-lpgfeutils  -Wl,--allow-multiple-definition -Wl,--disable-auto-import -L/c/prog/3p64/lib
-L/c/prog/3p64/lib-L/c/prog/3p64/openssl-win64/lib/VC -Wl,--as-needed   -lpgcommon -lpgport -lintl -lxslt -lxml2 -lz
-lws2_32-lm  -lws2_32 -o pg_rewind.exe
 
Sep 30 14:11:02 ../../../src/fe_utils/libpgfeutils.a(recovery_gen.o): In function `GenerateRecoveryConfig':
Sep 30 14:11:02 c:/mingw/msys/1.0/home/pgrunner/bf/root/HEAD/pgsql.build/../pgsql/src/fe_utils/recovery_gen.c:33:
undefinedreference to `createPQExpBuffer'
 
Sep 30 14:11:02 c:/mingw/msys/1.0/home/pgrunner/bf/root/HEAD/pgsql.build/../pgsql/src/fe_utils/recovery_gen.c:44:
undefinedreference to `PQserverVersion'
 

I assume the issue is that the specified link order is:
LDFLAGS_INTERNAL += $(libpq_pgport) -L$(top_builddir)/src/fe_utils -lpgfeutils
but pgfeutils introduces a dependency on symbols from libpq that weren't
needed at the time libpq was linked. Therefore they aren't included
inthe resulting library.

I'll reorder them.

Greetings,

Andres Freund



pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: pgsql: Doc: improve PREPARE documentation, cross-referencing to plan_ca
Next
From: Alvaro Herrera
Date:
Subject: Re: pgsql: pg_rewind: Allow writing recovery configuration