Re: PostgreSQL 9.5 Alpha 1 build fail with perl 5.22

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Marco Atzeri <marco(dot)atzeri(at)gmail(dot)com>
Cc: PostgreSQL mailing lists <pgsql-hackers(at)postgresql(dot)org>, Andrew Dunstan <andrew(at)dunslane(dot)net>, Peter Eisentraut <peter_e(at)gmx(dot)net>
Subject: Re: PostgreSQL 9.5 Alpha 1 build fail with perl 5.22
Date: 2015-07-04 15:02:35
Message-ID: 13963.1436022155@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-announce pgsql-hackers

Marco Atzeri <marco(dot)atzeri(at)gmail(dot)com> writes:
> for what I see the hstore_plperl link has a double problem.
> It requires a link to hstore
> as it also requires a link to perl.
> Attached patch for solving this and a similar issue with python.

> +ifeq ($(PORTNAME), cygwin)
> +# This means we need an in-tree build on Windows, not a pgxs build
> +SHLIB_LINK += -L../hstore -lhstore -L$(perl_archlibexp)/CORE -lperl
> +endif
> [ and likewise for the other contrib transform modules ]

I wondered how come we had not seen this problem in the buildfarm,
but the answer appears to be that our only working Cygwin critter
(brolga) doesn't build any of the optional PLs, so it skips these
modules altogether. Seems like we need to improve that situation.

Also, I noted that the "regular win32" path in these makefiles
says, eg,

ifeq ($(PORTNAME), win32)
# these settings are the same as for plperl
override CPPFLAGS += -DPLPERL_HAVE_UID_GID -Wno-comment
# This means we need an in-tree build on Windows, not a pgxs build
SHLIB_LINK += ../hstore/libhstore.a $(wildcard ../../src/pl/plperl/libperl*.a)
endif

It's not apparent to me how that works at all. It seems to specify
hard-linking a copy of hstore as well as a copy of plperl into the
shlib for hstore_plperl. Then at runtime, there will *also* be the
hstore and plperl shlibs in memory. At best that means substantial
memory bloat, but it seems likely to me that it would fail altogether,
particular for plperl which has got a substantial amount of semantically-
important static storage. Two copies of that storage will not end well.

regards, tom lane

In response to

Responses

Browse pgsql-announce by date

  From Date Subject
Next Message Andrew Dunstan 2015-07-04 17:09:43 Re: PostgreSQL 9.5 Alpha 1 build fail with perl 5.22
Previous Message Marco Atzeri 2015-07-04 07:24:21 Re: PostgreSQL 9.5 Alpha 1 build fail with perl 5.22

Browse pgsql-hackers by date

  From Date Subject
Next Message Fabien COELHO 2015-07-04 16:34:16 Re: Let PostgreSQL's On Schedule checkpoint write buffer smooth spread cycle by tuning IsCheckpointOnSchedule?
Previous Message Michael Paquier 2015-07-04 11:45:19 Re: [BUGS] BUG #13126: table constraint loses its comment