Re: PostGIS vs. PGXS in 9.0beta3

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Josh Berkus <josh(at)agliodbs(dot)com>, postgres hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: PostGIS vs. PGXS in 9.0beta3
Date: 2010-07-28 04:41:20
Message-ID: 4C4FB4F0.7030902@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Tom Lane wrote:
> Josh Berkus <josh(at)agliodbs(dot)com> writes:
>
>> A 9.0b3 tester reported this issue with our single most popular
>> PostgreSQL extension, PostGIS:
>>
>
>
>> ==================
>> Postgis makes use of 'PGXS' in postgresql > 8.2. Within postgresql-9,
>> datadir and many other variables are defined as multiple values with an
>> append operator, like this:
>>
>
>
>> $ grep -i datadir /usr/pgsql-9.0/lib/pgxs/src/Makefile.global
>> [snip]
>> datadir := /usr/pgsql-9.0/share
>>
>
> This analysis is nonsense on its face --- := is not an append operator
> and we do not have any multiple values for datadir.
>
> The referenced postgis-users thread seems to indicate that the postgis
> guys found and fixed a problem in their own makefiles. If not, we need
> a clearer description of what they think the problem is.
>

The real problem has nothing to do with any of the analysis, as you say.
It is this: they have an override file for PGXS and it uses
$(mkinstalldirs) which we got rid of about a year ago. So apparently
they haven't been testing much against any of our alphas or betas or
they would have seen this long ago. The correct fix is to do the
following in the PostGIS source root:

sed -i -e 's/mkinstalldirs/MKDIR_P/' postgis/Makefile.pgxs

cheers

andrew

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2010-07-28 04:55:39 Re: Improper usage of MemoryContext in nodeSubplan.c for buildSubPlanHash() function. This maybe causes allocate memory failed.
Previous Message Jeff Davis 2010-07-28 04:23:54 Re: page corruption on 8.3+ that makes it to standby