File:  [parser3project] / parser3 / INSTALL
Revision 1.36: download - view: text, annotated - select for diffs - revision graph
Thu Feb 12 07:10:11 2004 UTC (22 years, 5 months ago) by paf
Branches: MAIN
CVS tags: HEAD
--without-threads

0.Assuming your perform your builds in $HOME directory 
  and suggested subdirectories.

1.What is the process to compile Parser3?

  First, you must have LIBGC installed (conservative garbage collector for C++).
      libgc >= 6.1 [http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc6.1.tar.gz]
    
    Installation sequence of this library to $HOME/gc:

    cd libgc-x.x
    ./configure --prefix=$HOME/gc --disable-threads --silent
    make install

    Then you can use these Parser3 configure options to specify the location and static/dynamic linkage with libgc:
        --with-static-gc=$HOME/gc/lib
        --with-shared-gc=$HOME/gc/lib

  As most UNIX programs Parser3 follows the "standard":

  mkdir $HOME/parser3project
  cd $HOME/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? 

3a. In case you wish XML(xdoc and xnode classes) support, you need libraries
      libxml2 >= 2.6.5 [ftp://xmlsoft.org/libxml2-2.6.5.tar.gz]
      libxslt >= 1.1.2 [ftp://xmlsoft.org/libxslt-1.1.2.tar.gz]
      glib >= 1.2.10 [ftp://ftp.gtk.org/pub/gtk/v1.2/glib-1.2.10.tar.gz]
      gdome2 >= 0.7.4 [http://gdome2.cs.unibo.it/tarball/gdome2-0.7.4.tar.gz]
    on your system, and specify path to them to Parser3 configure script.

    Sources of libgdome library must be patched prior to compile. [library author bug confirmation pending]

    Installation sequence of these libraries to $HOME/gnome:

    libxml2:

    cd libxml2-x.x.x
    ./configure --prefix=$HOME/gnome --without-zlib --without-iconv --without-threads --silent
    make install

    libxslt:

    cd libxslt-x.x.x
    ./configure --with-libxml-prefix=$HOME/gnome --prefix=$HOME/gnome --without-debug --without-debugger --silent
    make install

    glib:

    cd glib-x.x.x
    ./configure --prefix=$HOME/gnome 
    make install

    gdome2:

    cd gdome2-x.x.x
    patch -p0 < $HOME/parser3project/parser3/src/lib/patches/gdome2.patch
    ./configure --with-glib-prefix=$HOME/gnome --disable-glibtest --with-libxml-prefix=$HOME/gnome --prefix=$HOME/gnome --silent
    make install

    And copy these additional headers into install includes directory

    mkdir $HOME/gnome/include/libgdome/gdomecore
    cp libgdome/gdomecore/gdome-xml-node.h $HOME/gnome/include/libgdome/gdomecore
    cp libgdome/gdomecore/gdome-xml-document.h $HOME/gnome/include/libgdome/gdomecore
    

    Parser3 configure options, choose whether you need static or dynamic linkage with xml libs:
        --with-static-xml=$HOME/gnome
        --with-shared-xml=$HOME/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)

3b. In case you wish $mail:receive support you need libraries
      glib >= 1.2.10 [ftp://ftp.gtk.org/pub/gtk/v1.2/glib-1.2.10.tar.gz]
      gmime >= 1.0.1 [http://spruce.sourceforge.net/gmime/sources/gmime-1.0.5.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 glib-x.x.x
    ./configure --prefix=$HOME/gnome 
    make install

    gmime:

    cd gmime-x.x.x
    ./configure --prefix=$HOME/gnome
    make install

    Parser3 configure options, choose whether you need static or dynamic linkage with xml libs:
        --with-static-mailreceive=$HOME/gnome
        --with-shared-mailreceive=$HOME/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 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=/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 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.

  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
  
 
Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)

$Id: INSTALL,v 1.36 2004/02/12 07:10:11 paf Exp $

E-mail: