Thread: Fwd: [GENERAL] pgxs/config/missing is... missing

Fwd: [GENERAL] pgxs/config/missing is... missing

From
Jim Nasby
Date:
Full story below, but in short:


I see that there is a config/missing script in source, and that
Makefile.global.in references it:

 > src/Makefile.global.in:missing            = $(SHELL)
$(top_srcdir)/config/missing

AFAICT the problem is that missing wasn't included in install or
uninstall in config/Makefile. Attached patch fixes that, and results in
missing being properly installed in lib/pgxs/config.


-------- Forwarded Message --------
Subject: [GENERAL] pgxs/config/missing is... missing
Date: Wed, 28 Oct 2015 12:54:54 -0500
From: Jim Nasby <Jim.Nasby@BlueTreble.com>
To: pgsql-general <pgsql-general@postgresql.org>
CC: David E. Wheeler <david@justatheory.com>

I'm trying to install pgTAP on a FreeBSD machine and running into an odd
problem:

> sed -e 's,MODULE_PATHNAME,$libdir/pgtap,g' -e 's,__OS__,freebsd,g' -e 's,__VERSION__,0.95,g' sql/pgtap-core.sql >
sql/pgtap-core.tmp
> /bin/sh /usr/local/lib/postgresql/pgxs/src/makefiles/../../config/missing perl compat/gencore 0 sql/pgtap-core.tmp >
sql/pgtap-core.sql
> cannot open /usr/local/lib/postgresql/pgxs/src/makefiles/../../config/missing: No such file or directory
> Makefile:124: recipe for target 'sql/pgtap-core.sql' failed

That particular recipe is

> sql/pgtap-core.sql: sql/pgtap.sql.in
>     cp $< $@
>     sed -e 's,sql/pgtap,sql/pgtap-core,g' compat/install-8.4.patch | patch -p0
>     sed -e 's,sql/pgtap,sql/pgtap-core,g' compat/install-8.3.patch | patch -p0
>     sed -e 's,MODULE_PATHNAME,$$libdir/pgtap,g' -e 's,__OS__,$(OSNAME),g' -e 's,__VERSION__,$(NUMVERSION),g'
sql/pgtap-core.sql> sql/pgtap-core.tmp 
>     $(PERL) compat/gencore 0 sql/pgtap-core.tmp > sql/pgtap-core.sql
>     rm sql/pgtap-core.tmp

and it's the $(PERL) that's failing. If I add this recipe

print-%  : ; @echo $* = $($*)

and do

gmake print-PERL

I indeed get

PERL = /bin/sh
/usr/local/lib/postgresql/pgxs/src/makefiles/../../config/missing perl

even after explicitly exporting PERL=/usr/local/bin/perl

I see that there is a config/missing script in source, and that
Makefile.global.in references it:

> src/Makefile.global.in:missing            = $(SHELL) $(top_srcdir)/config/missing

Any ideas why it's not being installed, or why the PGXS Makefile is
ignoring/over-riding $PERL?
--
Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX
Experts in Analytics, Data Architecture and PostgreSQL
Data in Trouble? Get it in Treble! http://BlueTreble.com


--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general



Attachment

Re: Fwd: [GENERAL] pgxs/config/missing is... missing

From
Tom Lane
Date:
Jim Nasby <Jim.Nasby@BlueTreble.com> writes:
> AFAICT the problem is that missing wasn't included in install or 
> uninstall in config/Makefile. Attached patch fixes that, and results in 
> missing being properly installed in lib/pgxs/config.

I thought we'd more or less rejected that approach in the previous thread.
        regards, tom lane



Re: Fwd: [GENERAL] pgxs/config/missing is... missing

From
Jim Nasby
Date:
On 12/10/15 7:09 PM, Tom Lane wrote:
> Jim Nasby <Jim.Nasby@BlueTreble.com> writes:
>> AFAICT the problem is that missing wasn't included in install or
>> uninstall in config/Makefile. Attached patch fixes that, and results in
>> missing being properly installed in lib/pgxs/config.
>
> I thought we'd more or less rejected that approach in the previous thread.

David Wheeler and I worked on a way to work around this in the pgTap 
extension, but AFAICT there's a bug here. The FreeBSD packages seems to 
be built without having PERL on the system, so if you try and use it 
with PGXS to set PERL, you end up with

PERL = /bin/sh
/usr/local/lib/postgresql/pgxs/src/makefiles/../../config/missing perl

which is coming out of the PGXS makefile. And that would work fine, if 
we were actually installing config/missing.

If instead of installing config/missing we want to just drop that file 
completely we can do that, but then we should remove it from sorce and 
from the makefiles.
-- 
Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX
Experts in Analytics, Data Architecture and PostgreSQL
Data in Trouble? Get it in Treble! http://BlueTreble.com



Re: Fwd: [GENERAL] pgxs/config/missing is... missing

From
Jim Nasby
Date:
On 12/11/15 6:25 PM, Jim Nasby wrote:
> On 12/10/15 7:09 PM, Tom Lane wrote:
>> Jim Nasby <Jim.Nasby@BlueTreble.com> writes:
>>> AFAICT the problem is that missing wasn't included in install or
>>> uninstall in config/Makefile. Attached patch fixes that, and results in
>>> missing being properly installed in lib/pgxs/config.
>>
>> I thought we'd more or less rejected that approach in the previous
>> thread.
>
> David Wheeler and I worked on a way to work around this in the pgTap
> extension, but AFAICT there's a bug here. The FreeBSD packages seems to
> be built without having PERL on the system, so if you try and use it
> with PGXS to set PERL, you end up with
>
> PERL = /bin/sh
> /usr/local/lib/postgresql/pgxs/src/makefiles/../../config/missing perl
>
> which is coming out of the PGXS makefile. And that would work fine, if
> we were actually installing config/missing.
>
> If instead of installing config/missing we want to just drop that file
> completely we can do that, but then we should remove it from sorce and
> from the makefiles.

Grr, right after sending this I found the thread you were talking about.

I'm not really sure our missing is better than just letting the error 
bubble up. If folks think that's better then lets just rip missing out 
entirely.

If we do decide to keep missing, we should probably clarify it's 
messages to indicate that the relevant file was missing when *configure 
was run*.
-- 
Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX
Experts in Analytics, Data Architecture and PostgreSQL
Data in Trouble? Get it in Treble! http://BlueTreble.com



Re: Fwd: [GENERAL] pgxs/config/missing is... missing

From
Tom Lane
Date:
Jim Nasby <Jim.Nasby@BlueTreble.com> writes:
> Grr, right after sending this I found the thread you were talking about.

> I'm not really sure our missing is better than just letting the error 
> bubble up. If folks think that's better then lets just rip missing out 
> entirely.

Well, that's what I was suggesting in the other thread, but it wasn't
drawing consensus.

Don't know if you noticed, but I committed your earlier patch a few
hours ago.  We can revert it if we somehow get to a consensus that
we don't need "missing".
        regards, tom lane