Thread: Problem getting xml2 contrib module working with 8.1

Problem getting xml2 contrib module working with 8.1

From
George Weaver
Date:
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
 
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
 
 
 

 

Re: Problem getting xml2 contrib module working with 8.1

From
George Weaver
Date:
----- Original Message -----
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