Diff for /parser3/INSTALL between versions 1.8 and 1.45

version 1.8, 2002/02/22 16:05:58 version 1.45, 2005/12/09 07:18:07
Line 1 Line 1
 0.Assuming your perform your builds in $D directory   0.Assuming your perform your builds in $HOME directory 
   and suggested subdirectories.    and suggested subdirectories.
   
 1.What is the process to compile Parser3?   1.What is the process to compile Parser3?
   
     First, you must have LIBGC installed (conservative garbage collector for C++).
         libgc >= 6.6
       
       Installation sequence of this library:
   
       mkdir $HOME/parser3project
       mkdir $HOME/parser3project/src
       cd $HOME/parser3project/src
       wget http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc6.6.tar.gz
       gunzip -c gc6.6.tar.gz | tar vxf -
       cd gc6.6
       ./configure --prefix=$HOME/parser3project/gc --disable-threads --disable-shared --silent
       make install
   
       Then you can use these Parser3 configure options to use that statically compiled gc:
           --with-static-gc=$HOME/parser3project/gc/lib
           In case you already have libgc.so and want to link parser against it, 
           you can this Parser3 configure option:
           --with-shared-gc=/path/to/gc/lib
   
       NOTE:
       On some platforms there is special version of libgc patched to support some
       local piece of subtlety.
       Official libgc does not work there, use special version instead.
       (OpenBSD reported to be one of those)
   
   As most UNIX programs Parser3 follows the "standard":    As most UNIX programs Parser3 follows the "standard":
   
   mkdir $D/parser3project    mkdir $HOME/parser3project
   cd $D/parser3project    cd $HOME/parser3project
   gunzip -c parser3-x.x.tar.gz | tar xvf -    gunzip -c parser3-x.x.tar.gz | tar xvf -
   mv parser3-x.x parser3    mv parser3-x.x parser3
   cd parser3    cd parser3
   ./configure --prefix=/usr/local    ./configure --prefix=$HOME/parser3install --silent
   make    make
       
   That renaming is needed for SQL drivers to be able to find     That renaming is needed for SQL drivers to be able to find 
   necessary include-file in Parser3 sources.    necessary include-file in Parser3 sources.
   
   NOTE: on some system you sould run 'gmake'.    NOTE:
     On some system you should run 'gmake'.
   
     NOTE:
   By default your would get 'parser3' binary without support of these features:    By default your would get 'parser3' binary without support of these features:
         * xml(xdoc and xnode classes)      * xml(xdoc and xnode classes)
     Read section (3) on getting xml-abled parser.
   
   
   In case you're not root on machine you're installing Parser,    Read section (4) on configure options.
   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].  
   
 2.What is the process to install Parser3?  2.What is the process to install Parser3?
   
Line 35 Line 60
   Installation layout:    Installation layout:
     $prefix/bin/      $prefix/bin/
       parser3             -- CGI and command line Parser3 interpreter        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/      $prefix/etc/
       parser3.conf        -- main configuration file  
       parser3.charsets/   -- charset definition files        parser3.charsets/   -- charset definition files
         koi8-r.cfg        -- cyrillic charset [KOI8-R encoding]          koi8-r.cfg        -- cyrillic charset [KOI8-R encoding]
         windows-1250.cfg  -- central europian charset [windows-1250 encoding]          windows-1250.cfg  -- central europian charset [windows-1250 encoding]
         windows-1251.cfg  -- cyrillic charset [windows-1251 encoding]          windows-1251.cfg  -- cyrillic charset [windows-1251 encoding]
         windows-1257.cfg  -- baltic charset [windows-1257 encoding]          windows-1257.cfg  -- baltic charset [windows-1257 encoding]
   
   NOTE:  3.What other libraries are needed to compile/install parser? 
     For subsequent compilations+installs   
     to prevent configuration files to be overwritten use  
     
     make install-exec  
       
     it will update parser3 binary only.  
   
 2.What other libraries are needed to compile/install libxml ?   3a. In case you wish XML(xdoc and xnode classes) support, you need libraries
         libxml2 >= 2.6.22
         libxslt >= 1.1.15
         glib >= 1.2.10 
         gdome2 => 0.8.1
       on your system, and specify path to them to Parser3 configure script.
   
   * You can compile and use parser without any additional libraries.      Sources of libgdome library must be patched prior to compile. [library author bug confirmation pending]
     That would be 'basic' version of it.  
   
       Installation sequence of these libraries to $HOME/parser3project/gnome:
   
   * In case you wish xml(xdoc and xnode classes) support you need libraries      libxml2:
       libxml2 >= 2.3.6  
       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:       cd $HOME/parser3project/src
       * libxml2      mkdir $HOME/parser3project
       * libxslt      wget --passive-ftp ftp://xmlsoft.org/libxml2-2.6.22.tar.gz
       gunzip -c libxml2-2.6.22.tar.gz | tar vxf -
     Installation sequence of these libraries to $D/gnome:      cd libxml2-2.6.22
       #sax1, output, tree, xinclude[in libxslt], html[in libxslt, mode=html?] xptr[xinclude]-- needed!
     libxml2:       ./configure --prefix=$HOME/parser3project/gnome \
         --without-iconv --without-threads --without-debug \
     cd libxml2-x.x.x        --without-iso8859x --without-legacy \
     patch -p0 < $D/parser3project/parser3/src/patches/libxml_error_column_tab.patch        --without-pattern --without-push --without-python \
     patch -p0 < $D/parser3project/parser3/src/patches/libxml_htmloutput_of_xslemptyattr_emptyquotes.patch        --without-reader --without-writer --without-readline --without-regexps \
     patch -p0 < $D/parser3project/parser3/src/patches/libxml_transcoder_context1.patch        --without-schemas --without-schematron \
     patch -p0 < $D/parser3project/parser3/src/patches/libxml_transcoder_context2.patch        --without-modules \
     patch -p0 < $D/parser3project/parser3/src/patches/libxml_transcoder_context3.patch        --without-zlib \
     patch -p0 < $D/parser3project/parser3/src/patches/libxml_transcoder_context4.patch        --disable-shared --silent
     ./configure --prefix=$D/gnome --without-zlib          echo "int main(){return 0;}">testapi.c
           echo "int main(){return 0;}">runtest.c
     make install      make install
   
     libxslt:      libxslt:
   
     cd libxslt-x.x.x      cd $HOME/parser3project/src
     patch -p0 < $D/parser3project/parser3/src/patches/libxslt_html_output_no_charset_meta.patch      wget --passive-ftp ftp://xmlsoft.org/libxslt-1.1.15.tar.gz
     ./configure --with-libxml-prefix=$D/gnome --prefix=$D/gnome --without-debug --without-debugger      gunzip -c libxslt-1.1.15.tar.gz | tar vxf -
       cd libxslt-1.1.15
       ./configure --with-libxml-prefix=$HOME/parser3project/gnome --prefix=$HOME/parser3project/gnome --without-debug --without-debugger --without-crypto --without-plugins --disable-shared  --silent
     make install      make install
   
     glib: [ftp://ftp.gtk.org/pub/gtk/v1.2/glib-1.2.10.tar.gz]      glib:
   
     cd glib-x.x.x      cd $HOME/parser3project/src
     ./configure --prefix=$D/gnome       #on freebsd5 this is reported to work: 
       #wget --passive-ftp ftp://ftp.gtk.org/pub/gtk/v1.1/glib-1.1.16.tar.gz
       wget --passive-ftp ftp://ftp.gtk.org/pub/gtk/v1.2/glib-1.2.10.tar.gz
       gunzip -c glib-1.2.10.tar.gz | tar vxf -
       cd glib-1.2.10
       ./configure --prefix=$HOME/parser3project/gnome --disable-debug --disable-shared  --silent
     make install      make install
   
     gdome2:      gdome2:
   
     ./configure --with-glib-prefix=$D/gnome --disable-glibtest --with-libxml-prefix=$D/gnome --prefix=$D/gnome      cd $HOME/parser3project/src
       wget http://gdome2.cs.unibo.it/tarball/gdome2-0.8.1.tar.gz
       gunzip -c gdome2-0.8.1.tar.gz | tar vxf -
       cd gdome2-0.8.1
       patch -p0 < $HOME/parser3project/parser3/src/lib/patches/gdome2.patch
   
       #copy these additional headers into install includes directory
       mkdir -p $HOME/parser3project/gnome/include/libgdome/gdomecore
       cp libgdome/gdomecore/gdome-xml-node.h $HOME/parser3project/gnome/include/libgdome/gdomecore
       cp libgdome/gdomecore/gdome-xml-document.h $HOME/parser3project/gnome/include/libgdome/gdomecore
       
       set path=($path $HOME/parser3project/gnome/bin)
       ./configure --enable-glib-1 --disable-glibtest \
         --prefix=$HOME/parser3project/gnome \
         --disable-shared  --silent
     make install      make install
   
     And patch+copy these additional headers into install includes directory  
   
         patch -p0 < $D/parser3project/parser3/src/patches/libgdome_cpp_syntax1.patch  
         patch -p0 < $D/parser3project/parser3/src/patches/libgdome_cpp_syntax2.patch  
     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 option:      Parser3 configure options, choose whether you need static or dynamic linkage with xml libs:
         --with-gnome-xml=$D/gnome          --with-static-xml=$HOME/parser3project/gnome
           --with-shared-xml=$HOME/parser3project/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)
   
       Sample:
       cd $HOME/parser3project/parser3
       ./configure --prefix=$HOME/parser3install \
           --with-static-gc=$HOME/parser3project/gc/lib \
           --with-static-xml=$HOME/parser3project/gnome \
           --with-sendmail="/usr/sbin/sendmail -i -t -f postmaster" \
           --silent
           make install
   
   3b. In case you wish $mail:receive support you need libraries
         glib >= 1.2.10
         gmime >= 1.0.1 [http://spruce.sourceforge.net/gmime/sources/v1.0/gmime-1.0.8.tar.gz]
       on your system, and specify path to them to Parser3 configure script.
   
       You may have already installed glib at 3b step.
   
       glib:
   
       cd $HOME/parser3project/src
       #on freebsd5 this is reported to work: ftp://ftp.gtk.org/pub/gtk/v1.1/glib-1.1.16.tar.gz
       wget --passive-ftp ftp://ftp.gtk.org/pub/gtk/v1.2/glib-1.2.10.tar.gz
       gunzip -c glib-1.2.10.tar.gz | tar vxf -
       cd glib-1.2.10
       ./configure --prefix=$HOME/parser3project/gnome --silent
       make install
   
       gmime:
   
       cd gmime-x.x.x
       ./configure --prefix=$HOME/parser3project/gnome
       make install
   
       Parser3 configure options, choose whether you need static or dynamic linkage with xml libs:
           --with-static-mailreceive=$HOME/parser3project/gnome
           --with-shared-mailreceive=$HOME/parser3project/gnome
   
     NOTE:      NOTE:
     In case your glib as installed into some other prefix,      In case your glib as installed into some other prefix,
     specify it's configuration file with      specify it's configuration file with
         --with-glib-config=/path/to/your/glib-config          --with-glib-config=/path/to/your/glib-config
        NOTE:
       In case you are using SHARED mime library, you may want to link in direct path to it,
       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=$HOME/parser3install
     and afterwards copy $HOME/parser3install/bin/parser3 to your CGI directory
     or make a symlink [if your web server configured to follow symlinks].
   
     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 enable reading and executing files, not belonging to group+user 
     other then effective by setting
     --disable-safe-mode
     option to configure.
     
     You can disable user-configured sendmail commands by forcing it, setting
     --with=sendmail="COMMAND"
     option to configure, for example:
     --with-sendmail="/usr/sbin/sendmail -i -t -f postmaster"
   
     In case you are experiencing problem with gcc runtime exception handling,
     try to configure with
     --with-sjlj-exceptions
     option.  
   
     By default libstdc++ is linked statically, you can re-enable dynamic libstdc++ linkage by specifying
     --with-dynamic-stdcpp
     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
     
   5.
     If you need to build apache 1.3 parser module, get source distribution of apache 1.3,
     run configure there, then run parser configure with one more option:
     --with-apache13=Apache13 source distribution directory
     after 'make' go to that directory and run
   
     ./p3runConfigure <any additional options to apache configure to pass>
     
     example:
     ./p3runConfigure --prefix=$D/apache13install --enable-module=rewrite
   
     WARNING: if you want to use apache configure option --enable-shared=max, do this:
     ./p3runConfigure --enable-shared=max --disable-shared=mod_parser3.c
     
 Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)  Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)
   
 $Id$  $Id$

Removed from v.1.8  
changed lines
  Added in v.1.45


E-mail: