Add full path in error report for version mismatch of binaries.

This commit is contained in:
Bruce Momjian 2004-10-15 04:32:28 +00:00
parent 8ff374ce91
commit a49f6ad014
3 changed files with 36 additions and 19 deletions

View File

@ -39,7 +39,7 @@
* Portions Copyright (c) 1994, Regents of the University of California
* Portions taken from FreeBSD.
*
* $PostgreSQL: pgsql/src/bin/initdb/initdb.c,v 1.61 2004/10/12 21:54:42 petere Exp $
* $PostgreSQL: pgsql/src/bin/initdb/initdb.c,v 1.62 2004/10/15 04:31:48 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@ -2268,18 +2268,24 @@ main(int argc, char *argv[])
if ((ret = find_other_exec(argv[0], "postgres", PG_VERSIONSTR,
backend_exec)) < 0)
{
char full_path[MAXPGPATH];
if (find_my_exec(argv[0], full_path) < 0)
StrNCpy(full_path, progname, MAXPGPATH);
if (ret == -1)
fprintf(stderr,
_("The program \"postgres\" is needed by %s "
"but was not found in the same directory as \"%s\".\n"
"but was not found in the\n"
"same directory as \"%s\".\n"
"Check your installation.\n"),
progname, progname);
progname, full_path);
else
fprintf(stderr,
_("The program \"postgres\" was found by %s "
"but was not the same version as \"%s\".\n"
_("The program \"postgres\" was found by \"%s\"\n"
"but was not the same version as %s.\n"
"Check your installation.\n"),
progname, progname);
full_path, progname);
exit(1);
}

View File

@ -4,7 +4,7 @@
*
* Portions Copyright (c) 1996-2004, PostgreSQL Global Development Group
*
* $PostgreSQL: pgsql/src/bin/pg_ctl/pg_ctl.c,v 1.36 2004/10/15 01:36:12 neilc Exp $
* $PostgreSQL: pgsql/src/bin/pg_ctl/pg_ctl.c,v 1.37 2004/10/15 04:32:14 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@ -531,17 +531,22 @@ do_start(void)
if ((ret = find_other_exec(argv0, "postmaster", PM_VERSIONSTR,
postmaster_path)) < 0)
{
char full_path[MAXPGPATH];
if (find_my_exec(argv0, full_path) < 0)
StrNCpy(full_path, progname, MAXPGPATH);
if (ret == -1)
write_stderr(_("The program \"postmaster\" is needed by %s "
"but was not found in the same directory as "
"\"%s\".\n"
"but was not found in the\n"
"same directory as \"%s\".\n"
"Check your installation.\n"),
progname, progname);
progname, full_path);
else
write_stderr(_("The program \"postmaster\" was found by %s "
"but was not the same version as \"%s\".\n"
write_stderr(_("The program \"postmaster\" was found by \"%s\"\n"
"but was not the same version as %s.\n"
"Check your installation.\n"),
progname, progname);
full_path, progname);
exit(1);
}
postgres_path = postmaster_path;

View File

@ -6,7 +6,7 @@
* Portions Copyright (c) 1994, Regents of the University of California
*
*
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_dumpall.c,v 1.52 2004/10/06 17:02:02 momjian Exp $
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_dumpall.c,v 1.53 2004/10/15 04:32:28 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@ -139,18 +139,24 @@ main(int argc, char *argv[])
if ((ret = find_other_exec(argv[0], "pg_dump", PG_VERSIONSTR,
pg_dump_bin)) < 0)
{
char full_path[MAXPGPATH];
if (find_my_exec(argv[0], full_path) < 0)
StrNCpy(full_path, progname, MAXPGPATH);
if (ret == -1)
fprintf(stderr,
_("The program \"pg_dump\" is needed by %s "
"but was not found in the same directory as \"%s\".\n"
"but was not found in the\n"
"same directory as \"%s\".\n"
"Check your installation.\n"),
progname, progname);
progname, full_path);
else
fprintf(stderr,
_("The program \"pg_dump\" was found by %s "
"but was not the same version as \"%s\".\n"
_("The program \"pg_dump\" was found by \"%s\"\n"
"but was not the same version as %s.\n"
"Check your installation.\n"),
progname, progname);
full_path, progname);
exit(1);
}