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