On Thu, Apr 2, 2015 at 10:58 AM, Michael Paquier <michael.paqu...@gmail.com> wrote: > > On other Linux machines, tests for dblink are failing: > + ERROR: could not load library > "/usr/src/pgfarm/build/HEAD/inst/lib/postgresql/dblink.so": > /usr/src/pgfarm/build/HEAD/inst/lib/libpq.so.5: undefined symbol: > libpq_connstring_is_recognized >
The patch attached fixes all those inconsistencies (tested build on OSX and Windows). -- Michael
From 188b8e51df428e650d9cc23b4a67d7516a1e5e47 Mon Sep 17 00:00:00 2001 From: Michael Paquier <mich...@otacoo.com> Date: Thu, 2 Apr 2015 11:13:42 +0900 Subject: [PATCH] Fix libpq build errors caused by fcef1617 libpq build was missing a reference to the new file connstrings.c, leading to build errors on OSX and Windows, and regression test errors for dblink as it tried to load a version of libpq missing dependencies. --- src/common/connstrings.c | 4 ++++ src/interfaces/libpq/.gitignore | 1 + src/interfaces/libpq/Makefile | 7 ++++++- src/tools/msvc/Mkvcbuild.pm | 4 ++-- 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/common/connstrings.c b/src/common/connstrings.c index 91170a1..ad714ab 100644 --- a/src/common/connstrings.c +++ b/src/common/connstrings.c @@ -6,6 +6,10 @@ * * src/include/common/connstrings.c */ +#ifndef FRONTEND +#error "This file is not expected to be compiled for backend code" +#endif + #include "postgres_fe.h" #include <string.h> diff --git a/src/interfaces/libpq/.gitignore b/src/interfaces/libpq/.gitignore index cb96af7..a28dff9 100644 --- a/src/interfaces/libpq/.gitignore +++ b/src/interfaces/libpq/.gitignore @@ -1,5 +1,6 @@ /exports.list /chklocale.c +/connstrings.c /crypt.c /getaddrinfo.c /getpeereid.c diff --git a/src/interfaces/libpq/Makefile b/src/interfaces/libpq/Makefile index 6973a20..513f981 100644 --- a/src/interfaces/libpq/Makefile +++ b/src/interfaces/libpq/Makefile @@ -27,7 +27,7 @@ endif # Need to recompile any external C files because we need # all object files to use the same compile flags as libpq; some # platforms require special flags. -LIBS := $(LIBS:-lpgport=) +LIBS := $(filter -lpgport -lpgcommon, $(LIBS)) # We can't use Makefile variables here because the MSVC build system scrapes # OBJS from this file. @@ -43,6 +43,8 @@ OBJS += $(filter crypt.o getaddrinfo.o getpeereid.o inet_aton.o open.o system.o OBJS += ip.o md5.o # utils/mb OBJS += encnames.o wchar.o +# common/ +OBJS += connstrings.o ifeq ($(with_openssl),yes) OBJS += fe-secure-openssl.o @@ -96,6 +98,9 @@ backend_src = $(top_srcdir)/src/backend chklocale.c crypt.c getaddrinfo.c getpeereid.c inet_aton.c inet_net_ntop.c noblock.c open.c system.c pgsleep.c pgstrcasecmp.c pqsignal.c snprintf.c strerror.c strlcpy.c thread.c win32error.c win32setlocale.c: % : $(top_srcdir)/src/port/% rm -f $@ && $(LN_S) $< . +connstrings.c: % : $(top_srcdir)/src/common/% + rm -f $@ && $(LN_S) $< . + ip.c md5.c: % : $(backend_src)/libpq/% rm -f $@ && $(LN_S) $< . diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm index 7f319df..5175d30 100644 --- a/src/tools/msvc/Mkvcbuild.pm +++ b/src/tools/msvc/Mkvcbuild.pm @@ -95,8 +95,8 @@ sub mkvcbuild exec.c pg_crc.c pg_lzcompress.c pgfnames.c psprintf.c relpath.c rmtree.c string.c username.c wait_error.c); - our @pgcommonfrontendfiles = (@pgcommonallfiles, qw(fe_memutils.c - restricted_token.c)); + our @pgcommonfrontendfiles = (@pgcommonallfiles, qw(connstrings.c + fe_memutils.c restricted_token.c)); our @pgcommonbkndfiles = @pgcommonallfiles; -- 2.3.5
-- Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers