Annotation of parser3/INSTALL, revision 1.44

1.33      paf         1: 0.Assuming your perform your builds in $HOME directory 
1.1       paf         2:   and suggested subdirectories.
                      3: 
1.33      paf         4: 1.What is the process to compile Parser3?
                      5: 
                      6:   First, you must have LIBGC installed (conservative garbage collector for C++).
1.41      paf         7:       libgc >= 6.6
1.33      paf         8:     
1.41      paf         9:     Installation sequence of this library:
1.33      paf        10: 
1.44    ! paf        11:     mkdir $HOME/parser3project/src
        !            12:     cd $HOME/parser3project/src
        !            13:     wget http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc6.6.tar.gz
        !            14:     gunzip -c gc6.6.tar.gz | tar vxf -
1.41      paf        15:     cd gc6.6
1.44    ! paf        16:     ./configure --prefix=$HOME/parser3project/gc --disable-threads --disable-shared --silent
1.33      paf        17:     make install
                     18: 
1.44    ! paf        19:     Then you can use these Parser3 configure options to use that statically compiled gc:
1.43      paf        20:         --with-static-gc=$HOME/parser3project/gc/lib
1.44    ! paf        21:        In case you already have libgc.so and want to link parser against it, 
        !            22:        you can this Parser3 configure option:
        !            23:         --with-shared-gc=/path/to/gc/lib
1.1       paf        24: 
1.38      paf        25:     NOTE:
                     26:     On some platforms there is special version of libgc patched to support some
                     27:     local piece of subtlety.
                     28:     Official libgc does not work there, use special version instead.
                     29:     (OpenBSD reported to be one of those)
                     30: 
1.3       paf        31:   As most UNIX programs Parser3 follows the "standard":
1.1       paf        32: 
1.43      paf        33:   mkdir $HOME/parser3project
                     34:   cd $HOME/parser3project
1.3       paf        35:   gunzip -c parser3-x.x.tar.gz | tar xvf -
                     36:   mv parser3-x.x parser3
1.2       paf        37:   cd parser3
1.39      paf        38:   ./configure --prefix=$HOME/parser3install --silent
1.2       paf        39:   make
                     40:   
1.3       paf        41:   That renaming is needed for SQL drivers to be able to find 
                     42:   necessary include-file in Parser3 sources.
                     43: 
1.10      paf        44:   NOTE:
                     45:   On some system you should run 'gmake'.
1.7       paf        46: 
1.10      paf        47:   NOTE:
1.1       paf        48:   By default your would get 'parser3' binary without support of these features:
1.44    ! paf        49:     * xml(xdoc and xnode classes)
1.10      paf        50:   Read section (3) on getting xml-abled parser.
1.1       paf        51: 
1.17      paf        52: 
1.18      paf        53:   Read section (4) on configure options.
1.10      paf        54: 
1.2       paf        55: 2.What is the process to install Parser3?
                     56: 
                     57:   make install
                     58: 
1.1       paf        59:   Installation layout:
                     60:     $prefix/bin/
                     61:       parser3             -- CGI and command line Parser3 interpreter
1.22      paf        62:       auto.p.dist         -- configuration file sample, 
                     63:                              copy it to auto.p and adjust to your needs
1.1       paf        64:     $prefix/etc/
                     65:       parser3.charsets/   -- charset definition files
1.2       paf        66:         koi8-r.cfg        -- cyrillic charset [KOI8-R encoding]
1.33      paf        67:         windows-1250.cfg  -- central europian charset [windows-1250 encoding]
1.5       paf        68:         windows-1251.cfg  -- cyrillic charset [windows-1251 encoding]
                     69:         windows-1257.cfg  -- baltic charset [windows-1257 encoding]
1.2       paf        70: 
1.10      paf        71: 3.What other libraries are needed to compile/install parser? 
1.1       paf        72: 
1.33      paf        73: 3a. In case you wish XML(xdoc and xnode classes) support, you need libraries
1.41      paf        74:       libxml2 >= 2.6.22
                     75:       libxslt >= 1.1.15
                     76:       glib >= 1.2.10 
1.44    ! paf        77:       gdome2 => 0.8.1
1.1       paf        78:     on your system, and specify path to them to Parser3 configure script.
                     79: 
1.33      paf        80:     Sources of libgdome library must be patched prior to compile. [library author bug confirmation pending]
1.1       paf        81: 
1.43      paf        82:     Installation sequence of these libraries to $HOME/parser3project/gnome:
1.1       paf        83: 
1.31      paf        84:     libxml2:
1.1       paf        85: 
1.44    ! paf        86:     cd $HOME/parser3project/src
        !            87:     wget ftp://xmlsoft.org/libxml2-2.6.22.tar.gz
        !            88:     gunzip -c libxml2-2.6.22.tar.gz | tar vxf -
1.41      paf        89:     cd libxml2-2.6.22
1.44    ! paf        90:     #sax1, output, tree, xinclude[in libxslt], xptr[xinclude]-- needed!
        !            91:     ./configure --prefix=$HOME/parser3project/gnome \
        !            92:       --with-html --without-iconv --without-threads --without-debug \
        !            93:       --without-iso8859x --without-legacy \
        !            94:       --without-pattern --without-push --without-python \
        !            95:       --without-reader --without-writer --without-readline --without-regexps \
        !            96:       --without-schemas --without-schematron \
        !            97:       --without-modules \
        !            98:       --without-zlib \
        !            99:       --disable-shared --silent
        !           100:        echo "int main(){return 0;}">testapi.c
        !           101:        echo "int main(){return 0;}">runtest.c
1.1       paf       102:     make install
                    103: 
1.31      paf       104:     libxslt:
1.1       paf       105: 
1.44    ! paf       106:     cd $HOME/parser3project/src
        !           107:     wget ftp://xmlsoft.org/libxslt-1.1.15.tar.gz
        !           108:     gunzip -c libxslt-1.1.15.tar.gz | tar vxf -
1.41      paf       109:     cd libxslt-1.1.15
1.44    ! paf       110:     ./configure --with-libxml-prefix=$HOME/parser3project/gnome --prefix=$HOME/parser3project/gnome --without-debug --without-debugger --without-crypto --without-plugins --disable-shared  --silent
1.1       paf       111:     make install
                    112: 
1.31      paf       113:     glib:
1.1       paf       114: 
1.44    ! paf       115:     cd $HOME/parser3project/src
        !           116:     #on freebsd5 this is reported to work: 
        !           117:     #wget ftp://ftp.gtk.org/pub/gtk/v1.1/glib-1.1.16.tar.gz
1.41      paf       118:     wget ftp://ftp.gtk.org/pub/gtk/v1.2/glib-1.2.10.tar.gz
1.44    ! paf       119:     gunzip -c glib-1.2.10.tar.gz | tar vxf -
1.41      paf       120:     cd glib-1.2.10
1.44    ! paf       121:     ./configure --prefix=$HOME/parser3project/gnome --disable-debug --disable-shared  --silent
1.1       paf       122:     make install
                    123: 
1.31      paf       124:     gdome2:
1.1       paf       125: 
1.44    ! paf       126:     cd $HOME/parser3project/src
1.41      paf       127:     wget http://gdome2.cs.unibo.it/tarball/gdome2-0.8.1.tar.gz
1.44    ! paf       128:     gunzip -c gdome2-0.8.1.tar.gz | tar vxf -
1.41      paf       129:     cd gdome2-0.8.1
1.43      paf       130:     patch -p0 < $HOME/parser3project/parser3/src/lib/patches/gdome2.patch
1.1       paf       131: 
1.44    ! paf       132:     #copy these additional headers into install includes directory
1.43      paf       133:     mkdir -p $HOME/parser3project/gnome/include/libgdome/gdomecore
                    134:     cp libgdome/gdomecore/gdome-xml-node.h $HOME/parser3project/gnome/include/libgdome/gdomecore
                    135:     cp libgdome/gdomecore/gdome-xml-document.h $HOME/parser3project/gnome/include/libgdome/gdomecore
1.1       paf       136:     
1.44    ! paf       137:     set path=($path $HOME/parser3project/gnome/bin)
        !           138:     ./configure --enable-glib-1 --disable-glibtest \
        !           139:       --prefix=$HOME/parser3project/gnome \
        !           140:       --disable-shared  --silent
        !           141:     make install
        !           142: 
        !           143:     
1.1       paf       144: 
1.9       paf       145:     Parser3 configure options, choose whether you need static or dynamic linkage with xml libs:
1.43      paf       146:         --with-static-xml=$HOME/parser3project/gnome
                    147:         --with-shared-xml=$HOME/parser3project/gnome
1.1       paf       148: 
1.5       paf       149:     NOTE:
                    150:     In case your glib as installed into some other prefix,
                    151:     specify it's configuration file with
                    152:         --with-glib-config=/path/to/your/glib-config
1.24      paf       153:     NOTE:
                    154:     In case you are using SHARED xml libraries, you may want to link in direct path to them,
                    155:     use this key to specify which linker key to use do do that:
                    156:         --with-pathlink=LKEY    put dynamic libraries paths to binary
                    157:                                 using linker key (-R, -rpath-link)
                    158: 
1.33      paf       159: 3b. In case you wish $mail:receive support you need libraries
1.41      paf       160:       glib >= 1.2.10
1.39      paf       161:       gmime >= 1.0.1 [http://spruce.sourceforge.net/gmime/sources/v1.0/gmime-1.0.8.tar.gz]
1.24      paf       162:     on your system, and specify path to them to Parser3 configure script.
                    163: 
                    164:     You may have already installed glib at 3b step.
                    165: 
1.31      paf       166:     glib:
1.24      paf       167: 
1.44    ! paf       168:     cd $HOME/parser3project/src
1.41      paf       169:     #on freebsd5 this is reported to work: ftp://ftp.gtk.org/pub/gtk/v1.1/glib-1.1.16.tar.gz
                    170:     wget ftp://ftp.gtk.org/pub/gtk/v1.2/glib-1.2.10.tar.gz
1.44    ! paf       171:     gunzip -c glib-1.2.10.tar.gz | tar vxf -
1.41      paf       172:     cd glib-1.2.10
1.43      paf       173:     ./configure --prefix=$HOME/parser3project/gnome --silent
1.24      paf       174:     make install
                    175: 
1.31      paf       176:     gmime:
1.24      paf       177: 
                    178:     cd gmime-x.x.x
1.43      paf       179:     ./configure --prefix=$HOME/parser3project/gnome
1.24      paf       180:     make install
                    181: 
                    182:     Parser3 configure options, choose whether you need static or dynamic linkage with xml libs:
1.43      paf       183:         --with-static-mailreceive=$HOME/parser3project/gnome
                    184:         --with-shared-mailreceive=$HOME/parser3project/gnome
1.24      paf       185: 
                    186:     NOTE:
                    187:     In case your glib as installed into some other prefix,
                    188:     specify it's configuration file with
                    189:         --with-glib-config=/path/to/your/glib-config
                    190:     NOTE:
                    191:     In case you are using SHARED mime library, you may want to link in direct path to it,
1.33      paf       192:     use this key to specify which linker key to use do do that:
1.9       paf       193:         --with-pathlink=LKEY    put dynamic libraries paths to binary
                    194:                                 using linker key (-R, -rpath-link)
                    195: 
1.18      paf       196: 4.
                    197: 
                    198:   In case you're not root on machine you're installing Parser,
                    199:   we recommend you to do:
1.43      paf       200:   ./configure --prefix=$HOME/parser3install
                    201:   and afterwards copy $HOME/parser3install/bin/parser3 to your CGI directory
1.18      paf       202:   or make a symlink [if your web server configured to follow symlinks].
                    203: 
                    204:   You can disable any exec operations by setting
                    205:   --disable-execs
                    206:   option to configure.
                    207:   file::exec, file::cgi and mail:send (unix version) methods would be disabled.
                    208: 
1.29      paf       209:   You can enable reading and executing files, not belonging to group+user 
                    210:   other then effective by setting
                    211:   --disable-safe-mode
1.18      paf       212:   option to configure.
                    213:   
                    214:   You can disable user-configured sendmail commands by forcing it, setting
1.41      paf       215:   --with=sendmail="COMMAND"
                    216:   option to configure, for example:
                    217:   --with-sendmail="/usr/sbin/sendmail -i -t -f postmaster"
1.26      paf       218: 
                    219:   In case you are experiencing problem with gcc runtime exception handling,
                    220:   try to configure with
                    221:   --with-sjlj-exceptions
                    222:   option.  
1.18      paf       223: 
1.33      paf       224:   By default libstdc++ is linked statically, you can re-enable dynamic libstdc++ linkage by specifying
                    225:   --with-dynamic-stdcpp
                    226:   option to configure.  
                    227: 
                    228: 
1.18      paf       229:   Some root config options can be specified at configure time, and would override autodetects.
                    230: 
                    231:   List of enabled charsets:
                    232:   --with-charsets=CHARSET[,CHARSET,...]  Enables charsets in root config (windows-1251,
                    233:                           windows-1250 windows-1257 koi8-r; Default is windows-1251)
                    234:   SQL clients:
1.21      paf       235:   --with-mysql-client=mysqlclientlib?params
                    236:   --with-pgsql-client=pgsqlclientlib?params
                    237:   --with-oracle-client=oracleclientlib?params
1.18      paf       238:   
1.37      paf       239: 5.
                    240:   If you need to build apache 1.3 parser module, get source distribution of apache 1.3,
                    241:   run configure there, then run parser configure with one more option:
                    242:   --with-apache13=Apache13 source distribution directory
                    243:   after 'make' go to that directory and run
                    244: 
                    245:   ./p3runConfigure <any additional options to apache configure to pass>
                    246:   
                    247:   example:
                    248:   ./p3runConfigure --prefix=$D/apache13install --enable-module=rewrite
                    249: 
                    250:   WARNING: if you want to use apache configure option --enable-shared=max, do this:
                    251:   ./p3runConfigure --enable-shared=max --disable-shared=mod_parser3.c
                    252:   
1.4       paf       253: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)
1.1       paf       254: 
1.44    ! paf       255: $Id: INSTALL,v 1.43 2005/11/30 16:26:51 paf Exp $

E-mail: