0.Assuming your perform your builds in $D directory
and suggested subdirectories.
1.What is the process to compile Parser3?
As most UNIX programs Parser3 follows the "standard":
mkdir $D/parser3project
cd $D/parser3project
gunzip -c parser3-x.x.tar.gz | tar xvf -
mv parser3-x.x parser3
cd parser3
./configure --prefix=/usr/local
make
That renaming is needed for SQL drivers to be able to find
necessary include-file in Parser3 sources.
NOTE:
On some system you should run 'gmake'.
NOTE:
By default your would get 'parser3' binary without support of these features:
* xml(xdoc and xnode classes)
Read section (3) on getting xml-abled parser.
Read section (4) on configure options.
2.What is the process to install Parser3?
make install
Installation layout:
$prefix/bin/
parser3 -- CGI and command line Parser3 interpreter
auto.p.dist -- configuration file sample,
copy it to auto.p and adjust to your needs
$prefix/etc/
parser3.charsets/ -- charset definition files
koi8-r.cfg -- cyrillic charset [KOI8-R encoding]
windows-1250.cfg -- central europian charset [windows-1250 encoding]
windows-1251.cfg -- cyrillic charset [windows-1251 encoding]
windows-1257.cfg -- baltic charset [windows-1257 encoding]
3.What other libraries are needed to compile/install parser?
* You can compile and use parser without any additional libraries.
That would be 'basic' version of it.
* In case you wish xml(xdoc and xnode classes) support you need libraries
libxml2 >= 2.4.11
libxslt >= 1.0.9
glib >= 1.2.10
gdome2 >= 0.7.0
on your system, and specify path to them to Parser3 configure script.
Sources of these two libraries must be patched prior to compile:
* libxml2
* libxslt
Installation sequence of these libraries to $D/gnome:
libxml2: [ftp://ftp.gnome.org/pub/GNOME/stable/sources/libxml/libxml2-2.4.12.tar.gz]
cd libxml2-x.x.x
patch -p0 < $D/parser3project/parser3/src/lib/patches/libxml_error_column_tab.patch
patch -p0 < $D/parser3project/parser3/src/lib/patches/libxml_htmloutput_of_xslemptyattr_emptyquotes.patch
patch -p0 < $D/parser3project/parser3/src/lib/patches/libxml_transcoder_context1.patch
patch -p0 < $D/parser3project/parser3/src/lib/patches/libxml_transcoder_context2.patch
patch -p0 < $D/parser3project/parser3/src/lib/patches/libxml_transcoder_context3.patch
patch -p0 < $D/parser3project/parser3/src/lib/patches/libxml_transcoder_context4.patch
./configure --prefix=$D/gnome --without-zlib
make install
libxslt: [ftp://ftp.gnome.org/pub/GNOME/stable/sources/libxslt/libxslt-1.0.9.tar.gz]
cd libxslt-x.x.x
patch -p0 < $D/parser3project/parser3/src/lib/patches/libxslt_html_output_no_charset_meta.patch
./configure --with-libxml-prefix=$D/gnome --prefix=$D/gnome --without-debug --without-debugger
make install
glib: [ftp://ftp.gtk.org/pub/gtk/v1.2/glib-1.2.10.tar.gz]
cd glib-x.x.x
./configure --prefix=$D/gnome
make install
gdome2: [http://phd.cs.unibo.it/gdome2/tarball/gdome2-0.7.0.tar.gz]
cd gdome2-x.x.x
patch -p0 < $D/parser3project/parser3/src/lib/patches/libgdome_cpp_syntax1.patch
patch -p0 < $D/parser3project/parser3/src/lib/patches/libgdome_cpp_syntax2.patch
patch -p0 < $D/parser3project/parser3/src/lib/patches/libgdome_morestatic.patch
./configure --with-glib-prefix=$D/gnome --disable-glibtest --with-libxml-prefix=$D/gnome --prefix=$D/gnome
make install
And copy these additional headers into install includes directory
mkdir $D/gnome/include/libgdome/gdomecore
cp libgdome/gdomecore/gdome-xml-node.h $D/gnome/include/libgdome/gdomecore
cp libgdome/gdomecore/gdome-xml-document.h $D/gnome/include/libgdome/gdomecore
Parser3 configure options, choose whether you need static or dynamic linkage with xml libs:
--with-static-xml=$D/gnome
--with-shared-xml=$D/gnome
NOTE:
In case your glib as installed into some other prefix,
specify it's configuration file with
--with-glib-config=/path/to/your/glib-config
NOTE:
In case you are using SHARED xml libraries, you may want to link in direct path to them,
use this key to specify which linker key to use do do that:
--with-pathlink=LKEY put dynamic libraries paths to binary
using linker key (-R, -rpath-link)
4.
In case you're not root on machine you're installing Parser,
we recommend you to do:
./configure --prefix=/your/home/parser3install
and afterwards copy parser3install/bin/parser3 to your CGI directory
or make a symlink [if your web server configured to follow symlinks].
You can disable libstdc++ linkage by setting
--disable-link-libstdcpp
option to configure.
You can disable any exec operations by setting
--disable-execs
option to configure.
file::exec, file::cgi and mail:send (unix version) methods would be disabled.
You can disable reading and executing files, belonging to group
other then current by setting
--disable-foreign-group-files
option to configure.
You can disable user-configured sendmail commands by forcing it, setting
"--with=sendmail=COMMAND"
option to configure.
Some root config options can be specified at configure time, and would override autodetects.
List of enabled charsets:
--with-charsets=CHARSET[,CHARSET,...] Enables charsets in root config (windows-1251,
windows-1250 windows-1257 koi8-r; Default is windows-1251)
SQL clients:
--with-mysql-client=mysqlclientlib?params
--with-pgsql-client=pgsqlclientlib?params
--with-oracle-client=oracleclientlib?params
Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)
$Id: INSTALL,v 1.23 2002/06/21 12:42:18 paf Exp $
E-mail: