----- Original Message -----
From: "Tom Lane"
> If you're on Windows this probably means that GetShortPathName() is
> failing. I'm not sure what conditions cause that, exactly. It might be
> a good idea if we fixed pg_config to print out the error code rather
> than just silently failing.
I think I have figured out what the problem is.
I installed the binary version of 8.1 via the msi-installer which creates
the PostgreSQL bin directory as "C:\Program Files\PostgreSQL\8.1\bin".
I then downloaded and installed the source code in order to compile and
install the xml2 contrib module. When I extracted
"postgresql-8.1.0.tar.bz2" to the "C:\Program Files\PostgreSQL" directory,
it creates the directory "C:\Program Files\PostgreSQL\postgresql-8.1.0". I
did not need to make and install the entire package from source in order to
build and install the xml2 module, so the directories remain as above.
When pg_config is run, it's assuming that bindir is "C:/Program
Files/PostgreSQL/8.1/bin" and starts all its path searches basis this
directory.
For pgxs, it concatentates the libdir with "/pgxs/src/makefiles/pgxs.mk" so
its looking for "C:/Program
Files/PostgreSQL/8.1/lib/pgxs/src/makefiles/pgxs.mk" which doesn't exist.
In fact under the source tree for 8.1.0 there is no directory "pgxs". If I
create a directory "/pgxs/src/makefiles" under "C:/Program
Files/PostgreSQL/8.1/lib/" and copy pgxs.mk to this directory, pg_config
finds it correctly:
C:\>pg_config --pgxs
C:/PROGRA~1/POSTGR~1/8.1/lib/pgxs/src/MAKEFI~1/pgxs.mk
If I made the entire package from source and installed it, would it have
created the directory "/pgxs/src/makefiles" under "C:/Program
Files/PostgreSQL/8.1/lib/"?
Regards,
George