--- pltcl.orig 2003-10-30 03:00:44.000000000 +0100 +++ pltcl.c 2004-01-06 13:54:03.937500000 +0100 @@ -35,10 +35,13 @@ * **********************************************************************/ -#include "postgres.h" - +//psa: change order of tcl.h and postgres.h +// http://archives.postgresql.org/pgsql-cygwin/2003-01/msg00080.php +// http://archives.postgresql.org/pgsql-cygwin/2003-11/msg00074.php #include +#include "postgres.h" + #include #include #include @@ -207,6 +210,9 @@ * Create the dummy hold interpreter to prevent close of * stdout and stderr on DeleteInterp ************************************************************/ +//psa: argument should be argv[0]. But anyway, it is unused on Windows: just have to be != NULL. +Tcl_FindExecutable(""); + if ((pltcl_hold_interp = Tcl_CreateInterp()) == NULL) { elog(ERROR, "pltcl: internal error - cannot create 'hold' " @@ -219,6 +225,8 @@ if ((pltcl_norm_interp = Tcl_CreateSlave(pltcl_hold_interp, "norm", 0)) == NULL) { +//psa: tell me more about the fail +elog(LOG,Tcl_GetStringResult(pltcl_hold_interp)); elog(ERROR, "pltcl: internal error - cannot create 'normal' interpreter"); } @@ -227,6 +235,8 @@ if ((pltcl_safe_interp = Tcl_CreateSlave(pltcl_hold_interp, "safe", 1)) == NULL) { +//psa: tell me more about the fail +elog(LOG,Tcl_GetStringResult(pltcl_hold_interp)); elog(ERROR, "pltcl: internal error - cannot create 'safe' interpreter"); }