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.na...@bluetreble.com> To: pgsql-general <pgsql-gene...@postgresql.org> CC: David E. Wheeler <da...@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-gene...@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
diff --git a/config/Makefile b/config/Makefile index da12838..67e7998 100644 --- a/config/Makefile +++ b/config/Makefile @@ -7,9 +7,11 @@ include $(top_builddir)/src/Makefile.global install: all installdirs $(INSTALL_SCRIPT) $(srcdir)/install-sh '$(DESTDIR)$(pgxsdir)/config/install-sh' + $(INSTALL_SCRIPT) $(srcdir)/missing '$(DESTDIR)$(pgxsdir)/config/missing' installdirs: $(MKDIR_P) '$(DESTDIR)$(pgxsdir)/config' uninstall: rm -f '$(DESTDIR)$(pgxsdir)/config/install-sh' + rm -f '$(DESTDIR)$(pgxsdir)/config/missing'
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers