HowTo Install ZOO-Kernel on CentOS 5.5

This documentation was done thanks to Guillaume Sueur from Neogeo Technologies which takes time to test installing the ZOO-Kernel on CentOS 5.5 environment.


Installing some standard tools to be able to run ZOO-Kernel on your platform :

yum install apache2
yum install build-essentials
yum install gcc-c++
yum install zlib-devel
yum install libxml2-devel
yum install bison
yum install openssl 
yum install python-devel
yum install subversion

Compile then install FastCGI library from source

wget http://www.fastcgi.com/dist/fcgi.tar.gz
tar xzf fcgi-2.4.0.tar.gz 
make install
echo /usr/local/lib >> /etc/ld.so.conf.d/local.conf

Compile then install the autoconf tools :

wget http://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.gz
tar xzf autoconf-latest.tar.gz
./configure --prefix=/usr
make install

Compile then install the flex tool :

wget http://downloads.sourceforge.net/project/flex/flex/flex-2.5.35/flex-2.5.35.tar.gz?r=http%3A%2F%2Fflex.sourceforge.net%2F&ts=1292529005&use_mirror=switch
tar xzf flex-2.5.35.tar.gz
cd flex-2.5.35
./configure --prefix=/usr
make install

Using the curl providen in the CentOS distribution will produce ZOO-Kernel unable to run any Service. Indeed, some segmentation fault occurs when trying to run Execute request on the ZOO-Kernel, compiling the ZOO-Kernel seting USE_GDB flag in the CFLAGS of your Makefile will let you run ZOO-Kernel from gdb and be able to get more information on what is going wrong with your ZOO-Kernel. Doing this we can figure out that code on line 173 and line 175 have to be commented in the ulinet.c file to get a ZOO-Kernel working using the curl available in CentOS (curl version 7.15.5). If you don't apply the modification, you will get an error from a gdb session pointing segfault in Curl_cookie_clearall.

As the curl segfault, you can compile then install curl from source :

wget http://curl.haxx.se/download/curl-7.21.3.tar.bz2
tar xjf curl-7.21.3.tar.bz2
cd curl-7.21.3
./configure --prefix=/usr
make install

Compile then install Python :

wget http://www.python.org/ftp/python/2.6.6/Python-2.6.6.tar.bz2
tar xjf Python-2.6.6.tar.bz2
cd Python-2.6.6
make install

Compile then install your own GDAL library :

wget http://download.osgeo.org/gdal/gdal-1.7.3.tar.gz
tar xzf gdal-1.7.3.tar.gz
cd gdal-1.7.3
./configure  # add your options here
make install

Install the Sun JAVA SDK into /usr/share then use the following command to ensure that the libjvm.so will be found at runtime from any context.

echo /usr/share/java-1.6.0-openjdk- >> /etc/ld.so.conf.d/jvm.conf

Compile ZOO-Kernel and ZOO-Services

Compile then install ZOO-Kernel and your first ZOO-Services.

First of all, compile the cgic library providen in the SVN source tree:

svn co http://svn.zoo-project.org/svn/trunk zoo-project
cd zoo-project/thirds/cgic206

Compile then install ZOO-Kernel.

cd ../../zoo-kernel
./configure --with-java=/usr/share/jdk1.6.0_23/ --with-python
make zoo_loader.cgi
cp main.cfg /var/www/cgi-bin/
cp  zoo_loader.cgi /var/www/cgi-bin/

Compile then deploy your first ZOO-ServicesProviders (simple HelloPy - line 1 and 2- and the OGR base-vect-ops ServiceProvider - line 3 to 6):

Error: Failed to load processor Lineno
No macro or processor named 'Lineno' found

To ensure that the libjvm.so will be found from apache, please restart it :

/etc/init.d/httpd restart

Testing your ZOO-Kernel

Testing your ZOO-Kernel from command line.

cd /var/www/cgi-bin
./zoo_loader.cgi "request=Execute&service=WPS&version=1.0.0&Identifier=HelloPy&DataInputs=a=Djay"
./zoo_loader.cgi "request=Execute&service=WPS&version=1.0.0&Identifier=Buffer&DataInputs=BufferDistance=1@datatype=interger;InputPolygon=Reference@xlink:href=http%3A%2F%2Fwww.zoo-project.org%3A8082%2Fgeoserver%2Fows%3FSERVICE%3DWFS%26REQUEST%3DGetFeature%26VERSION%3D1.0.0%26typename%3Dtopp%3Astates%26SRS%3DEPSG%3A4326%26FeatureID%3Dstates.15&RawDataOutput=Result@mimeType=application/json"


Context Navigation

ZOO Sponsors

http://www.zoo-project.org/trac/chrome/site/img/geolabs-logo.pnghttp://www.zoo-project.org/trac/chrome/site/img/neogeo-logo.png http://www.zoo-project.org/trac/chrome/site/img/apptech-logo.png http://www.zoo-project.org/trac/chrome/site/img/3liz-logo.png http://www.zoo-project.org/trac/chrome/site/img/gateway-logo.png

Become a sponsor !

Knowledge partners

http://www.zoo-project.org/trac/chrome/site/img/ocu-logo.png http://www.zoo-project.org/trac/chrome/site/img/gucas-logo.png http://www.zoo-project.org/trac/chrome/site/img/polimi-logo.png http://www.zoo-project.org/trac/chrome/site/img/fem-logo.png http://www.zoo-project.org/trac/chrome/site/img/supsi-logo.png http://www.zoo-project.org/trac/chrome/site/img/cumtb-logo.png

Become a knowledge partner

Related links

http://zoo-project.org/img/ogclogo.png http://zoo-project.org/img/osgeologo.png