Thread: MKDIR_P@: Command not found error in regression test

MKDIR_P@: Command not found error in regression test

From
Karthik GP
Date:
Hi -
I installed postgres 9.2.2 from source successfully. I then made some minor code changes to learn how to build postgres again. I am on Ubuntu linux version 3.5.0-17.'./configure' and 'make' gave no errors, but while running 'make check', I get the following error:

make -C ../backend submake-errcodes
make[3]: Entering directory `/home/user/pgsql/pgsql/src/backend'
make[3]: Nothing to be done for `submake-errcodes'.
make[3]: Leaving directory `/home/user/pgsql/pgsql/src/backend'
make[2]: Leaving directory `/home/user/pgsql/pgsql/src/port'
rm -rf ./testtablespace
mkdir ./testtablespace
../../../src/test/regress/pg_regress --inputdir=. --temp-install=./tmp_check --top-builddir=../../..   --dlpath=.  --schedule=./parallel_schedule  
============== creating temporary installation        ==============

pg_regress: installation failed
Examine /home/user/pgsql/pgsql/src/test/regress/log/install.log for the reason.
Command was: "make" -C "../../.." DESTDIR="/home/user/pgsql/pgsql/src/test/regress/./tmp_check/install" install > "/home/user/pgsql/pgsql/src/test/regress/log/install.log" 2>&1
make[1]: *** [check] Error 2
make[1]: Leaving directory `/home/user/pgsql/pgsql/src/test/regress'
make: *** [check] Error 2



Checking the regress logs at 'src/test/regress/log/install.log', I see the following messages at the bottom:

/bin/mkdir -p '/home/user/pgsql/pgsql/src/test/regress/./tmp_check/install/usr/local/pgsql/lib/pgxs/src/test/regress'
/bin/sh ../../../config/install-sh -c  pg_regress '/home/user/pgsql/pgsql/src/test/regress/./tmp_check/install/usr/local/pgsql/lib/pgxs/src/test/regress/pg_regress'
make[2]: Leaving directory `/home/user/pgsql/pgsql/src/test/regress'
make[1]: MKDIR_P@: Command not found
make[1]: *** [installdirs-local] Error 127
make[1]: Leaving directory `/home/user/pgsql/pgsql/src'
make: *** [install-src-recurse] Error 2
make: Leaving directory `/home/user/pgsql/pgsql'

Any clues on what's wrong?? It's very unlikely that any of my code changes are causing this.


Thanks
Karthik

Re: MKDIR_P@: Command not found error in regression test

From
Tom Lane
Date:
Karthik GP <karthik.segpi@gmail.com> writes:
> make[1]: MKDIR_P@: Command not found
> make[1]: *** [installdirs-local] Error 127
> make[1]: Leaving directory `/home/user/pgsql/pgsql/src'
> make: *** [install-src-recurse] Error 2
> make: Leaving directory `/home/user/pgsql/pgsql'

> Any clues on what's wrong?? It's very unlikely that any of my code changes
> are causing this.

The reference to installdirs-local indicates it's trying to do this part
of src/Makefile:

installdirs-local:
    $(MKDIR_P) '$(DESTDIR)$(pgxsdir)/$(subdir)'

You sure you didn't accidentally insert an "@" into that line?

Another possibility is that you somehow messed up the definition of
MKDIR_P in src/Makefile.global, or messed up the configure logic that
substitutes a correct value for that (though I'd have thought that such
a mistake would lead to failures earlier than here).  The relevant line
in src/Makefile.global.in is

MKDIR_P = @MKDIR_P@

and this should get expanded to something like

MKDIR_P = /bin/mkdir -p

in src/Makefile.global (specific command varies depending on platform).

            regards, tom lane