Tom Lane wrote:

Andrew Dunstan <[EMAIL PROTECTED]> writes:
Tom Lane wrote:
This error message seems pretty thoroughly unhelpful though.  Any ideas
what it's unhappy about?

I think we need to change the pg_regress error messages so that it includes the command string that failed, at least for now.

Done, but I bet it doesn't tell us anything we don't know already.

Well, we have a result, courtesy of a special run from Stefan: has:

Command was: 
 -D "C:/msys/1.0/home/pgbuild/pgfarmbuild/HEAD/pgsql.804/src/test/regress/./tmp_check/data" -L 
 --noclean  --no-locale >"./log/initdb.log" 2>&1"

The second "C:/msys/1.0/" should not be in the path to initdb.

Not sure how to fix.



It will be either quoting problem or a vitual path problem, I am pretty sure. The old shell script ran in a bourne-shell-like manner. But calling system() from a C program will call the Windows command shell, where the quoting rules are quite different.

In src/include/port.h we have

*       Win32 needs double quotes at the beginning and end of system()
*       strings.  If not, it gets confused with multiple quoted strings.
*       It also requires double-quotes around the executable name and
*       any files used for redirection.  Other args can use single-quotes.
*       See the "Notes" section about quotes at:

The referenced link seems to be dead :-( but AFAICS the pg_regress code
is following the stated rules.  Also, how is it getting past the "make
install" step which is quoting things just the same?  Puzzling.

                        regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

Reply via email to