Re: Broken handling of lwlocknames.h

From: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
To: Christoph Berg <myon(at)debian(dot)org>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Robert Haas <robertmhaas(at)gmail(dot)com>, PostgreSQL mailing lists <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Broken handling of lwlocknames.h
Date: 2016-06-28 03:26:00
Message-ID: CAB7nPqSi9L6DP_ubOnDcqkKHiVvjv8oUEC32J-KY-Ta8uHKMSg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Jun 28, 2016 at 3:22 AM, Christoph Berg <myon(at)debian(dot)org> wrote:
> Re: Tom Lane 2016-06-27 <31398(dot)1467036827(at)sss(dot)pgh(dot)pa(dot)us>
>> Bjorn Munch reported off-list that this sequence:
>>
>> unpack tarball, cd into it
>> ./configure ...
>> cd src/test/regress
>> make
>>
>> no longer works in 9.6beta2, where it did work in previous releases.
>> I have confirmed both statements. The failure looks like
>>
>> gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -g -O1 -fpic -I../../../src/include -D_GNU_SOURCE -c -o regress.o regress.c
>> In file included from ../../../src/include/storage/lock.h:23,
>> from ../../../src/include/access/heapam.h:22,
>> from ../../../src/include/nodes/execnodes.h:18,
>> from ../../../src/include/commands/trigger.h:17,
>> from regress.c:29:
>> ../../../src/include/storage/lwlock.h:129:33: error: storage/lwlocknames.h: No such file or directory
>> make: *** [regress.o] Error 1
>>
>> So this is some sort of fallout from commit aa65de042f582896, which
>> invented that as a generated file.
>>
>> Perhaps the solution is to extend src/test/regress/GNUmakefile to know
>> about this file explicitly (as it already does know about
>> src/port/pg_config_paths.h). But that seems rather brute-force; in
>> particular it seems like that does nothing to keep us from getting burnt
>> again the same way in future. I wonder if we should modify
>> src/backend/Makefile so that it exposes a phony target for "update all the
>> generated include files", and then have src/test/regress/GNUmakefile call
>> that. Or maybe there are other ways.
>
> That would also fix the "build plpython3 only" problem I was aiming at
> in https://www.postgresql.org/message-id/20150916200959.GB32090@msg.df7cb.de
>
> So another +1 from a packagers perspective.

Yes that would be indeed cleaner this way. I have poked a bit at that
and finished with the attached that defines some rules to generate all
the files needed. But actually it does not seem to be enough, for
example on OSX this would fail to compile because it cannot find the
postgres binary in src/backend/postgres. Does somebody have an idea
what this is about? It seems that we have two problems here.
--
Michael

Attachment Content-Type Size
makefile-generate.patch invalid/octet-stream 4.6 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Etsuro Fujita 2016-06-28 03:30:51 Re: Postgres_fdw join pushdown - wrong results with whole-row reference
Previous Message Tom Lane 2016-06-28 02:55:44 Re: fixing subplan/subquery confusion