Re: Strange code in initdb - Mailing list pgsql-hackers
From | Bruce Momjian |
---|---|
Subject | Re: Strange code in initdb |
Date | |
Msg-id | 200410150424.i9F4OY008992@candle.pha.pa.us Whole thread Raw |
In response to | Strange code in initdb (Peter Eisentraut <peter_e@gmx.net>) |
Responses |
Re: Strange code in initdb
|
List | pgsql-hackers |
I have modified these reports so they print the full path used. Typical pg_dumpall output is: The program "pg_dump" is needed by pg_dumpall but was not found in the same directory as "/usr/local/postgres/bin/pg_dumpall". Check your installation. --------------------------------------------------------------------------- Peter Eisentraut wrote: > What is this trying to tell us? > > if (ret == -1) > fprintf(stderr, > _("The program \"postgres\" is needed by %s " > "but was not found in the same directory as \"%s\".\n" > "Check your installation.\n"), > progname, progname); > else > fprintf(stderr, > _("The program \"postgres\" was found by %s " > "but was not the same version as \"%s\".\n" > "Check your installation.\n"), > progname, progname); > > Shouldn't the second progname be argv[0] or something else that contains > the full path? > > -- > Peter Eisentraut > http://developer.postgresql.org/~petere/ > > > ---------------------------(end of broadcast)--------------------------- > TIP 3: if posting/reading through Usenet, please send an appropriate > subscribe-nomail command to majordomo@postgresql.org so that your > message can get through to the mailing list cleanly > -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073 Index: src/bin/initdb/initdb.c =================================================================== RCS file: /cvsroot/pgsql/src/bin/initdb/initdb.c,v retrieving revision 1.61 diff -c -c -r1.61 initdb.c *** src/bin/initdb/initdb.c 12 Oct 2004 21:54:42 -0000 1.61 --- src/bin/initdb/initdb.c 15 Oct 2004 04:16:47 -0000 *************** *** 2268,2285 **** if ((ret = find_other_exec(argv[0], "postgres", PG_VERSIONSTR, backend_exec)) < 0) { if (ret == -1) fprintf(stderr, _("The program \"postgres\" is needed by %s " ! "but was not found in the same directory as \"%s\".\n" "Check your installation.\n"), ! progname, progname); else fprintf(stderr, ! _("The program \"postgres\" was found by %s " ! "but was not the same version as \"%s\".\n" "Check your installation.\n"), ! progname, progname); exit(1); } --- 2268,2291 ---- 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\n" ! "same directory as \"%s\".\n" "Check your installation.\n"), ! progname, full_path); else fprintf(stderr, ! _("The program \"postgres\" was found by \"%s\"\n" ! "but was not the same version as %s.\n" "Check your installation.\n"), ! full_path, progname); exit(1); } Index: src/bin/pg_ctl/pg_ctl.c =================================================================== RCS file: /cvsroot/pgsql/src/bin/pg_ctl/pg_ctl.c,v retrieving revision 1.35 diff -c -c -r1.35 pg_ctl.c *** src/bin/pg_ctl/pg_ctl.c 13 Oct 2004 10:35:05 -0000 1.35 --- src/bin/pg_ctl/pg_ctl.c 15 Oct 2004 04:16:50 -0000 *************** *** 524,540 **** if ((ret = find_other_exec(argv0, "postmaster", PM_VERSIONSTR, postmaster_path)) < 0) { if (ret == -1) write_stderr(_("The program \"postmaster\" is needed by %s " ! "but was not found in the same directory as " ! "\"%s\".\n" "Check your installation.\n"), ! progname, progname); else ! write_stderr(_("The program \"postmaster\" was found by %s " ! "but was not the same version as \"%s\".\n" "Check your installation.\n"), ! progname, progname); exit(1); } postgres_path = postmaster_path; --- 524,545 ---- 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\n" ! "same directory as \"%s\".\n" "Check your installation.\n"), ! progname, full_path); else ! write_stderr(_("The program \"postmaster\" was found by \"%s\"\n" ! "but was not the same version as %s.\n" "Check your installation.\n"), ! full_path, progname); exit(1); } postgres_path = postmaster_path; Index: src/bin/pg_dump/pg_dumpall.c =================================================================== RCS file: /cvsroot/pgsql/src/bin/pg_dump/pg_dumpall.c,v retrieving revision 1.52 diff -c -c -r1.52 pg_dumpall.c *** src/bin/pg_dump/pg_dumpall.c 6 Oct 2004 17:02:02 -0000 1.52 --- src/bin/pg_dump/pg_dumpall.c 15 Oct 2004 04:16:51 -0000 *************** *** 139,156 **** if ((ret = find_other_exec(argv[0], "pg_dump", PG_VERSIONSTR, pg_dump_bin)) < 0) { if (ret == -1) fprintf(stderr, _("The program \"pg_dump\" is needed by %s " ! "but was not found in the same directory as \"%s\".\n" "Check your installation.\n"), ! progname, progname); else fprintf(stderr, ! _("The program \"pg_dump\" was found by %s " ! "but was not the same version as \"%s\".\n" "Check your installation.\n"), ! progname, progname); exit(1); } --- 139,162 ---- 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\n" ! "same directory as \"%s\".\n" "Check your installation.\n"), ! progname, full_path); else fprintf(stderr, ! _("The program \"pg_dump\" was found by \"%s\"\n" ! "but was not the same version as %s.\n" "Check your installation.\n"), ! full_path, progname); exit(1); }
pgsql-hackers by date: