Fwd: [GENERAL] pgxs/config/missing is... missing - Mailing list pgsql-hackers

From Jim Nasby
Subject Fwd: [GENERAL] pgxs/config/missing is... missing
Date
Msg-id 566A1361.2000101@BlueTreble.com
Whole thread Raw
Responses Re: Fwd: [GENERAL] pgxs/config/missing is... missing  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
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

pgsql-hackers by date:

Previous
From: Greg Stark
Date:
Subject: Re: mdnblocks() sabotages error checking in _mdfd_getseg()
Next
From: Jim Nasby
Date:
Subject: array_remove(anyarray, anyarray)