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