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

From: Jim Nasby <Jim(dot)Nasby(at)BlueTreble(dot)com>
To: Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Fwd: [GENERAL] pgxs/config/missing is... missing
Date: 2015-12-11 00:05:53
Message-ID: 566A1361.2000101@BlueTreble.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general 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(dot)Nasby(at)BlueTreble(dot)com>
To: pgsql-general <pgsql-general(at)postgresql(dot)org>
CC: David E. Wheeler <david(at)justatheory(dot)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

Attachment Content-Type Size
patch text/plain 536 bytes

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2015-12-11 01:09:40 Re: Fwd: [GENERAL] pgxs/config/missing is... missing
Previous Message Adrian Klaver 2015-12-10 23:42:45 Re: Loggingt psql meta-commands

Browse pgsql-hackers by date

  From Date Subject
Next Message Jim Nasby 2015-12-11 00:25:56 array_remove(anyarray, anyarray)
Previous Message Greg Stark 2015-12-10 23:37:55 Re: mdnblocks() sabotages error checking in _mdfd_getseg()