ZooDocumentation/ZOOKernel/Installation

Version 5 (modified by markusn, 8 years ago)

point to new docs

Compilation

TOC()?

This page provides documentation on how to compile then install ZOO-Kernel on Unix and Win32 platforms.

IMPORTANT: more detailed notes you can find here.

Unix

For Unix users, ZOO-Kernel comes with a GNU autoconf "configure" script that should take care of (hopefully!) all compilation issues for you.

The configure script won't work on Windows. See section WIN32 for details on compiling on Windows systems.

For the impatient

ZOO requires a third party program, the CGI program. To build zoo_loader.cgi CGI program with the default options, go to the default options, go to the directory where you extracted the ZOO-Kernel source code package and use the following command:

 $ cd thirds/cgic206
 $ make
 $ cd ../../zoo-project/zoo-kernel
 $ ./configure
 $ make

Unless something went wrong, you should have executables in the current directory for the zoo_loader.cgi CGI program. You can copy the zoo_loader.cgi program and the main.cfg file to your HTTP server's CGI directory and start using it.

At this step your ZOO-Kernel should work. Nevertheless, don't forget to correct the main.cfg settings to set tmpPath and tmpUrl to fit your web server configuration.

configure options

Here is the list of available options as returned by ./configure --help:

  --with-gdal-config=FILE specify an alternative gdal-config file
  --with-xml2config=FILE  specify an alternative xml2-config file
  --with-python=PATH      To enabled python support or specify an alternative
                          directory for python installation, disabled by
                          default
  --with-php=PATH         To enabled php support or specify an alternative
                          directory for php installation, disabled by default
  --with-perl=PATH        To enabled perl support or specify an alternative
                          directory for perl installation, disabled by default
  --with-java=PATH        To enabled java support, specify a JDK_HOME,
                          disabled by default
  --with-js=PATH          specify --with-js=path-to-js to enabled js support,
                          specify --with-js on linux debian like, js support
                          is disabled by default

All the options are described in more details below.

(Required) GDAL Support:

If your gdal-config program is not found in your PATH then you can use the "--with-gdal-config" option to speficy its location. For instance, let suppose that your gdal-config was installed in /usr/local/bin and this directory is not in your PATH, then you can use the following command:

 $ ./configure --with-gdal-config=/usr/local/bin/gdal-config

(Required) XML2 Support:

If your xml2-config program is not found in your PATH then you can use the "--with-xml2config" option to specify its location. For instance, let suppose that your xml2-config was installed in /usr/local/bin end this directory is not in you PATH, then you can use the following command:

 $ ./configure --with-xml2config=/usr/local/bin/xml2-config

(Optional) Python Support

If you want to activate the Python Support for ZOO-Kernel then you will have to use the "--with-python" option. If your python-config program is found in your PATH then you don't have to specify the path where Python was installed, so using the following command:

 $ ./configure --with-python

This suppose that python-config is found in your PATH.

In case your python-config is not found in your PATH, then you can set the Python installation directory you are using. For instance, let suppose that you installed Python in /usr/local, then you can use the following command:

 $ ./configure --with-python=/usr/local

This suppose that /usr/local/bin/python-config exists.

(Optional) PHP Support

To be able to activate PHP Support for ZOO-Kernel you'll need to get a local PHP Embedded installation, for more informations about configure options to use to get such kind of PHP installation you can refer to this page :

http://zoo-project.org/trac/wiki/ZooKernel/Embed/PHP

If you want to activate the PHP Support for ZOO-Kernel then you will have to use the "--with-php" option. If your php-config program is found in your PATH then you don't have to specify the path where PHP was installed, so using the following commnd:

 $ ./configure --with-php

This suppose that php-config is found in your PATH.

In case your php-config is not found in your PATH, then you can set the PHP installation directory you are using. For instance, let suppose that you installed PHP in /usr/local, then you can use the following command:

 $ ./configure --with-php=/usr/local

This suppose that /usr/local/bin/php-config exists.

(Optional) Perl Support

If you want to activate the Perl Support for ZOO-Kernel then you will have to use the "--with-perl" option. If you do not set any value to this option, then perl program will be searched in your PATH. So in such case, you can use the following command:

 $ ./configure --with-perl 

This suppose that perl is found in your PATH.

In other case, for custom Perl installation, you can set the installation directory. For instance, let suppose that you installed Perl in /usr/local and /usr/local/bin is not in your PATH, then you can use the following command:

 $ ./configure --with-perl=/usr/local

This suppose that /usr/local/bin/perl exists.

(Optional) Java Support

If you want to activate the Java Support for ZOO-Kernel then you will have to use the "--with-java" option and set the installation path of your Java SDK. For instance, let suppose that your Java SDK was installed in /usr/lib/jvm/java-6-sun-1.6.0.22/ directory, then you can use the following command:

 $ ./configure --with-java=/usr/lib/jvm/java-6-sun-1.6.0.22/

This suppose that the include/linux and jre/lib/i386/client/ subdirectories exist in /usr/lib/jvm/java-6-sun-1.6.0.22/, include/linux contains the jni.h headers file and jre/lib/i386/client/ contains the libjvm.so file.

Note that on MacOS X you only have to set macos as value for the "--with-java" option to get the Java Support for ZOO-Kernel activated. So using the following command:

 $ ./configure --with-java=macos

(Optional) JavaScript Support

If you want to activate the JavaScript Support for ZOO-Kernel then you will have to use the --with-js option. If you are using a "Debian-like" GNU/Linux distribution then dpkg will be used to detect if the required packages was installed and you don't have to specify anything here, so you can use the following command:

 $ ./configure --with-js 

This suppose that js_api.h and libmozjs.so are found in default directories.

If you get a custom installation of SpiderMonkey or you are not using a Debian packaging system, then you'll have to specify the directory where you installed it. For instance, let suppose that you installed your SpiderMonkey in /usr, then you'll have to use the following command:

 $ ./configure --with-js=/usr

This suppose that the /usr/include/js exists and contains the js_api.h headers file and /usr/lib contains libmozjs.so file.

WIN32

Requirements

ZOO-Kernel on WIN32 platform requires the following for building:

  • OSGeo4W packages : Apache, gdal, Python
  • libfcgi
  • libcrypto, flex + bison (installed in a directory we call TPATH)

To be able to access flex and bison tools, you should use the following command :

set TPATH=c:\My\Install\Directory
set PATH=%PATH%;%TPATH%\bin

To make sure that environnement variables are correctly set for compilation, use the following command :

c:\Program Files\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat

libcgic

Make sure you get the file C:\OSGeo4W\lib\libfcgi.lib on your computer, then you can run the following commands to build the required libcgic:

cd thirds/cgic206
make

Build and deploy ZOO-Kernel

To build ZOO-Kernel you should first edit the nmake.opt file to set the following variables :

  • LIBINTL_CPATH: the libintl installation path
  • PYTHON_CPATH: the python installation path
  • TPATH: discussed before
  • GEODIR: OSGeo4W installation path
  • CFLAGS: flags used at compilation time
  • LDFLAGS: flags used at link time

Then, run the following commands to build your own WIN32 ZOO-Kernel:

cd zoo-kernel
nmake /f makefile.vc

To make sure your build can run you need to copy it in the bin directory from the OSGeo4W installation path, then try to run it from command line:

copy zoo_loader.cgi main.cfg c:\OSGeo4W\bin
cd c:\OSGeo4W\bin
.\zoo_loader.cgi "request=GetCapabilities&service=WPS"

If everything went right running from command line, then you can run it from your browser and build services.

Build and deploy ServicesProvider

Actually only few ServiceProvider was tested on WIN32 platform. To compile a service provider called SP you should run the following commands:

cd zoo-service\SP
nmake /f makefile.vc

As this makefile.vc uses nmake.opt you modified earlier, it should succeed.

Now you just need to copy files from the cgi-env directory into c:\OSGeo4W\bin to deploy your ServiceProvider (should contain at least a .zo and a .zcfg).

Search

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