----- 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








---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

Reply via email to