Annotation of parser3/INSTALL, revision 1.17

1.1       paf         1: 0.Assuming your perform your builds in $D directory 
                      2:   and suggested subdirectories.
                      3: 
                      4: 1.What is the process to compile Parser3? 
                      5: 
1.3       paf         6:   As most UNIX programs Parser3 follows the "standard":
1.1       paf         7: 
                      8:   mkdir $D/parser3project
                      9:   cd $D/parser3project
1.3       paf        10:   gunzip -c parser3-x.x.tar.gz | tar xvf -
                     11:   mv parser3-x.x parser3
1.2       paf        12:   cd parser3
1.1       paf        13:   ./configure --prefix=/usr/local
1.2       paf        14:   make
                     15:   
1.3       paf        16:   That renaming is needed for SQL drivers to be able to find 
                     17:   necessary include-file in Parser3 sources.
                     18: 
1.10      paf        19:   NOTE:
                     20:   On some system you should run 'gmake'.
1.7       paf        21: 
1.10      paf        22:   NOTE:
1.1       paf        23:   By default your would get 'parser3' binary without support of these features:
                     24:        * xml(xdoc and xnode classes)
1.10      paf        25:   Read section (3) on getting xml-abled parser.
1.1       paf        26: 
1.10      paf        27:   NOTE:        
1.6       paf        28:   In case you're not root on machine you're installing Parser,
                     29:   we recommend you to do:
                     30:   ./configure --prefix=/your/home/parser3install
                     31:   and afterwards copy parser3install/bin/parser3 to your CGI directory
                     32:   or make a symlink [if your web server configured to follow symlinks].
                     33: 
1.10      paf        34:   NOTE:
1.12      paf        35:   You can disable libstdc++ linkage by setting
1.13      paf        36:   --disable-link-libstdcpp
1.12      paf        37:   option to configure.  
                     38: 
                     39:   NOTE:
1.10      paf        40:   You can disable any exec operations by setting
                     41:   --disable-execs
                     42:   option to configure.
                     43:   file::exec, file::cgi and mail:send (unix version) methods would be disabled.
1.17    ! paf        44: 
1.11      paf        45:   NOTE:
1.15      paf        46:   You can disable reading and executing files, belonging to group 
1.12      paf        47:   other then current by setting
1.14      paf        48:   --disable-foreign-group-files
1.11      paf        49:   option to configure.
                     50:   
1.16      paf        51:   NOTE:
                     52:   You can disable user-configured sendmail commands by forcing it, setting
                     53:   "--with=sendmail=COMMAND"
                     54:   option to configure.
                     55:   
1.10      paf        56: 
1.2       paf        57: 2.What is the process to install Parser3?
                     58: 
                     59:   make install
                     60: 
1.1       paf        61:   Installation layout:
                     62:     $prefix/bin/
                     63:       parser3             -- CGI and command line Parser3 interpreter
                     64:     $prefix/etc/
                     65:       parser3.conf        -- main configuration file
                     66:       parser3.charsets/   -- charset definition files
1.2       paf        67:         koi8-r.cfg        -- cyrillic charset [KOI8-R encoding]
                     68:         windows-1250.cfg  -- central europian charset [windows-1250 encoding]
1.5       paf        69:         windows-1251.cfg  -- cyrillic charset [windows-1251 encoding]
                     70:         windows-1257.cfg  -- baltic charset [windows-1257 encoding]
1.2       paf        71: 
                     72:   NOTE:
                     73:     For subsequent compilations+installs 
                     74:     to prevent configuration files to be overwritten use
                     75:   
                     76:     make install-exec
                     77:     
                     78:     it will update parser3 binary only.
1.1       paf        79: 
1.10      paf        80: 3.What other libraries are needed to compile/install parser? 
1.1       paf        81: 
                     82:   * You can compile and use parser without any additional libraries.
                     83:     That would be 'basic' version of it.
                     84: 
                     85: 
                     86:   * In case you wish xml(xdoc and xnode classes) support you need libraries
                     87:       libxml2 >= 2.3.6
                     88:       libxslt >= 1.0.9
                     89:       glib >= 1.2.10
                     90:       gdome2 >= 0.7.0
                     91:     on your system, and specify path to them to Parser3 configure script.
                     92: 
                     93:     Sources of these two libraries must be patched prior to compile: 
                     94:       * libxml2
                     95:       * libxslt
                     96: 
                     97:     Installation sequence of these libraries to $D/gnome:
                     98: 
1.9       paf        99:     libxml2:  [ftp://ftp.gnome.org/pub/GNOME/stable/sources/libxml/libxml2-2.4.12.tar.gz]
1.1       paf       100: 
                    101:     cd libxml2-x.x.x
                    102:     patch -p0 < $D/parser3project/parser3/src/patches/libxml_error_column_tab.patch
                    103:     patch -p0 < $D/parser3project/parser3/src/patches/libxml_htmloutput_of_xslemptyattr_emptyquotes.patch
                    104:     patch -p0 < $D/parser3project/parser3/src/patches/libxml_transcoder_context1.patch
                    105:     patch -p0 < $D/parser3project/parser3/src/patches/libxml_transcoder_context2.patch
                    106:     patch -p0 < $D/parser3project/parser3/src/patches/libxml_transcoder_context3.patch
                    107:     patch -p0 < $D/parser3project/parser3/src/patches/libxml_transcoder_context4.patch
1.8       paf       108:     ./configure --prefix=$D/gnome --without-zlib
1.1       paf       109:     make install
                    110: 
1.9       paf       111:     libxslt:  [ftp://ftp.gnome.org/pub/GNOME/stable/sources/libxslt/libxslt-1.0.9.tar.gz]
1.1       paf       112: 
                    113:     cd libxslt-x.x.x
                    114:     patch -p0 < $D/parser3project/parser3/src/patches/libxslt_html_output_no_charset_meta.patch
                    115:     ./configure --with-libxml-prefix=$D/gnome --prefix=$D/gnome --without-debug --without-debugger
                    116:     make install
                    117: 
1.9       paf       118:     glib:  [ftp://ftp.gtk.org/pub/gtk/v1.2/glib-1.2.10.tar.gz]
1.1       paf       119: 
                    120:     cd glib-x.x.x
                    121:     ./configure --prefix=$D/gnome 
                    122:     make install
                    123: 
1.9       paf       124:     gdome2:  [http://phd.cs.unibo.it/gdome2/tarball/gdome2-0.7.0.tar.gz]
1.1       paf       125: 
1.9       paf       126:     cd gdome2-x.x.x
                    127:        patch -p0 < $D/parser3project/parser3/src/patches/libgdome_cpp_syntax1.patch
                    128:        patch -p0 < $D/parser3project/parser3/src/patches/libgdome_cpp_syntax2.patch
                    129:        patch -p0 < $D/parser3project/parser3/src/patches/libgdome_morestatic.patch
1.1       paf       130:     ./configure --with-glib-prefix=$D/gnome --disable-glibtest --with-libxml-prefix=$D/gnome --prefix=$D/gnome
                    131:     make install
                    132: 
1.9       paf       133:     And copy these additional headers into install includes directory
1.1       paf       134: 
                    135:     mkdir $D/gnome/include/libgdome/gdomecore
                    136:     cp libgdome/gdomecore/gdome-xml-node.h $D/gnome/include/libgdome/gdomecore
                    137:     cp libgdome/gdomecore/gdome-xml-document.h $D/gnome/include/libgdome/gdomecore
                    138:     
                    139: 
1.9       paf       140:     Parser3 configure options, choose whether you need static or dynamic linkage with xml libs:
                    141:         --with-static-xml=$D/gnome
                    142:         --with-shared-xml=$D/gnome
1.1       paf       143: 
1.5       paf       144:     NOTE:
                    145:     In case your glib as installed into some other prefix,
                    146:     specify it's configuration file with
                    147:         --with-glib-config=/path/to/your/glib-config
1.9       paf       148:        NOTE:
                    149:        In case you are using SHARED xml libraries, you may want to link in direct path to them,
                    150:     use this key to specify which linker key to use do do that:
                    151:         --with-pathlink=LKEY    put dynamic libraries paths to binary
                    152:                                 using linker key (-R, -rpath-link)
                    153: 
1.1       paf       154:  
1.4       paf       155: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)
1.1       paf       156: 
1.17    ! paf       157: $Id: INSTALL,v 1.16 2002/03/25 11:41:26 paf Exp $

E-mail: