File:  [parser3project] / parser3 / INSTALL
Revision 1.23: download - view: text, annotated - select for diffs - revision graph
Fri Jun 21 12:42:18 2002 UTC (24 years ago) by paf
Branches: MAIN
CVS tags: HEAD
moved libltdl and pcre to libs/
added libs/md5 which is linked to non-apache targets
^math:crypt[password;$apr1$salt]

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: