Thread: Problem getting xml2 contrib module working with 8.1
Hi,
I have used the xml2 contrib module successfully with postgresql versions starting with 7.3, although installing the module at times has proven challenging. I have been using the xml2 contrib module most recently on 8.0.0.
I have installed 8.1.1 on an X/P machine (installation was a breeze using the binary installer!). Using the following steps which have worked in the past I undertook to install the xml2 contrib module:
1. Downloaded the source tree for 8.1.0.
2. Downloaded the most recent versions of libxml2, libxslt and libexslt, and installed the appropriate header file directories in the "C:\Program Files\PostgreSQL\postgresql-8.1.0\src\include" directory, and the appropriate dll's in the "C:\Program Files\PostgreSQL\postgresql-8.1.0\src\port" and "C:\Program Files\PostgreSQL\8.1\lib" directories
3. Using the mingw32 shell ran configure.
4. Checked to make sure configure worked by running make - make completed successfully: "All of PostgreSQL successfully made. Ready to install."
5. Using the mingw32 shell ran make for the xml2 module. The following are the results:
$ make
sed 's,MODULE_PATHNAME,$libdir/pgxml,g' pgxml.sql.in >pgxml.sql
make: xml2-config: Command not found
gcc -I. -I../../src/include -I./src/include/port/win32 -DEXEC_BACKEND "-I../../src/include/port/win32" -c -o xpath.o xpath.c
make: xml2-config: Command not found
gcc -I. -I../../src/include -I./src/include/port/win32 -DEXEC_BACKEND "-I../../src/include/port/win32" -c -o xslt_proc.o xslt_proc.c
dlltool --export-all --output-def pgxml.def xpath.o xslt_proc.o
dllwrap -o libpgxml.dll --dllname libpgxml.dll --def pgxml.def xpath.o xslt_proc.o -L../../src/backend -L../../src/port -lxml2 -lxslt -lpostgres
dlltool --dllname libpgxml.dll --def pgxml.def --output-lib libpgxml.a
sed 's,MODULE_PATHNAME,$libdir/pgxml,g' pgxml.sql.in >pgxml.sql
make: xml2-config: Command not found
gcc -I. -I../../src/include -I./src/include/port/win32 -DEXEC_BACKEND "-I../../src/include/port/win32" -c -o xpath.o xpath.c
make: xml2-config: Command not found
gcc -I. -I../../src/include -I./src/include/port/win32 -DEXEC_BACKEND "-I../../src/include/port/win32" -c -o xslt_proc.o xslt_proc.c
dlltool --export-all --output-def pgxml.def xpath.o xslt_proc.o
dllwrap -o libpgxml.dll --dllname libpgxml.dll --def pgxml.def xpath.o xslt_proc.o -L../../src/backend -L../../src/port -lxml2 -lxslt -lpostgres
dlltool --dllname libpgxml.dll --def pgxml.def --output-lib libpgxml.a
I am not sure about the message "xml2-config: Command not found", but libpgxml.dll appears to have been created successfully. I copied libpgxml.dll to the "C:\Program Files\PostgreSQL\8.1\lib" directory.
When I tried to install the functions in the file "pgxml.sql" I get the following error for each function:
"psql:C:/Program Files/PostgreSQL/postgresql-8.1.0/contrib/xml2/pgxml.sql:4: ERROR: could not load library "C:/Program Files/PostgreSQL/8.1/lib/libpgxml.dll": The specified module could not be found."
Any thoughts as to why these steps have worked to date, but not now, and what I should do to resolve the problem?
Thanks in advance,
George
----- Original Message -----
From: George Weaver
From: George Weaver
>"psql:C:/Program Files/PostgreSQL/postgresql-8.1.0/contrib/xml2/pgxml.sql:4: ERROR: could not load library "C:/Program >Files/PostgreSQL/8.1/lib/libpgxml.dll": The specified module could not be found."
>Any thoughts as to why these steps have worked to date, but not now, and what I should do to resolve the problem?
I solved this problem and found that there are 2 ways to do so:
1. By copying libxml2.dll, libxslt.dll and libexslt.dll to C:\Program Files\PostgreSQL\8.1\bin
or
2. Leaving libxml2.dll, libxslt.dll and libexslt.dll in C:\Program Files\PostgreSQL\8.1\lib and adding C:\Program Files\PostgreSQL\8.1\lib to the system path.
George