source: trunk/docs/kernel/installation.txt @ 223

Last change on this file since 223 was 222, checked in by jmckenna, 14 years ago

add mac os x install notes

File size: 27.0 KB
Line 
1.. _kernel-installation:
2
3Installation
4============
5
6.. contents:: Table of Contents
7    :depth: 4
8    :backlinks: top
9
10This page provides documentation on how to compile then install the ZOO Kernel on Unix and Win32 platforms.
11
12Obtaining the ZOO Kernel Source
13-------------------------------
14
15Use the following command to get the ZOO Kernel source code through Subversion:
16
17::
18
19  svn checkout http://svn.zoo-project.org/svn/trunk zoo-project
20
21For users which get a developer account, use the following:
22
23::
24
25  sed "s:\[tunnels\]:\[tunnels\]\nzoosvn = /usr/bin/ssh -p 1046:g" -i ~/.subversion/config
26  svn co svn+zoosvn://svn.zoo-project.org/var/svn/repos/trunk zoo-project
27
28The first line of the instruction above defines a specific tunnel to access the svn server through
29the SSH protocol. Indeed, the ZOO SVN server listens on the 1046 (1024+22) port rather than the default one (22).
30
31Prerequisites
32-------------
33
34The following libraries are required on your system before you can install the ZOO Kernel:
35
36- autoconf (  http://www.gnu.org/software/autoconf/ )
37- cgic (  http://www.boutell.com/cgic )
38- cURL (  http://curl.haxx.se )
39- FastCGI (  http://www.fastcgi.com )
40- Flex & Bison (  http://flex.sourceforge.net/  http://www.gnu.org/software/bison/ )
41- libxml2 (  http://xmlsoft.org )
42- OpenSSL (  http://www.openssl.org )
43- Python (  http://www.python.org )
44
45Optional libraries include:
46
47- PHP Embedded (optional) (  http://www.php.net )
48- Java SDK (optional) (  http://java.sun.com )
49- SpiderMonkey (optional) (  http://www.mozilla.org/js/spidermonkey/ )
50
51Compile libcgic
52---------------
53
54The first step is to compile libcgic from the ``zoo-project/thirds`` directory. For such a task, please use
55the following command:
56
57::
58
59  cd thirds/cgic206
60  make
61
62Make sure that a ``libcgic.a`` is created in your ``zoo-project/thirds/cgic206`` directory. If yes, then
63you can go to the next step.
64
65On Windows, rather than using the make command, please use:
66
67::
68
69  nmake /f makefile.vc.
70 
71.. warning::
72   If you don't compile libcgic first, and try to compile the ZOO Kernel, you will get an error such as *cannot find -lcgic*
73
74Unix
75----
76
77For Unix users, the ZOO Kernel comes with a GNU autoconf "configure" script that should take care of (hopefully!)
78all compilation issues for you.
79
80The configure script won't work on Windows. See section :ref:`WIN32 <win32>` for details on compiling
81on Windows systems.
82
83For the impatient
84*****************
85
86To build the ``zoo_loader.cgi`` CGI program with the default options, cd to the directory
87where you extracted the ZOO Kernel source code package and use the following commands:
88
89::
90
91  $ cd zoo-kernel
92  $ autoconf 
93  $ ./configure
94  $ make
95
96Unless something went wrong, you should have executables in the current directory for the ``zoo_loader.cgi``
97CGI program. You can copy the ``zoo_loader.cgi`` program and the ``main.cfg`` file to your HTTP server's CGI
98directory and start using it.
99
100At this step your ZOO-Kernel should work. Nevertheless, don't forget to correct the main.cfg settings
101to set ``tmpPath`` and ``tmpUrl`` to fit your web server configuration.
102
103Configure Options
104*****************
105
106Here is the list of available options as returned by *./configure --help*:
107
108::
109
110  --with-gdal-config=FILE specify an alternative gdal-config file
111  --with-xml2config=FILE  specify an alternative xml2-config file
112  --with-python=PATH      To enable python support or specify an alternative
113                          directory for python installation, disabled by
114                          default
115  --with-php=PATH         To enable php support or specify an alternative
116                          directory for php installation, disabled by default
117  --with-perl=PATH        To enable perl support or specify an alternative
118                          directory for perl installation, disabled by default
119  --with-java=PATH        To enable java support, specify a JDK_HOME,
120                          disabled by default
121  --with-js=PATH          specify --with-js=path-to-js to enable js support,
122                          specify --with-js on linux debian like, js support
123                          is disabled by default
124
125All the options are described in more details below.
126
127(Required) GDAL Support
128^^^^^^^^^^^^^^^^^^^^^^^
129
130If your gdal-config program is not found in your PATH then you can use the
131``--with-gdal-config`` option to specify its location. For instance, let's suppose that your gdal-config
132was installed in /usr/local/bin and this directory is not in your PATH, then you can use
133the following command:
134
135::
136
137  $ ./configure --with-gdal-config=/usr/local/bin/gdal-config
138
139(Required) XML2 Support
140^^^^^^^^^^^^^^^^^^^^^^^
141
142If your xml2-config program is not found in your PATH then you can use the
143``--with-xml2config`` option to specify its location. For instance, let's suppose that
144your xml2-config was installed in /usr/local/bin and this directory is not in your PATH,
145then you can use the following command:
146
147::
148
149  $ ./configure --with-xml2config=/usr/local/bin/xml2-config
150
151(Optional) Python Support
152^^^^^^^^^^^^^^^^^^^^^^^^^
153
154If you want to activate Python support for the ZOO Kernel then you will have to use the
155``--with-python`` option. If your python-config program is found in your PATH then you
156don't have to specify the path where Python was installed, such as:
157
158::
159
160  $ ./configure --with-python
161
162This assumes that python-config is found in your PATH.
163
164In the case that your python-config is not found in your PATH, then you can specify the Python
165installation directory you are using. For instance, let's suppose that you installed
166Python in /usr/local, then you can use the following command:
167
168::
169
170  $ ./configure --with-python=/usr/local
171
172This assumes that /usr/local/bin/python-config exists.
173
174(Optional) PHP Support
175^^^^^^^^^^^^^^^^^^^^^^
176
177To be able to activate PHP support for the ZOO Kernel you'll need to get a local PHP Embedded
178installation; for more information about the required configure options when compiling PHP you
179can refer to this page :
180
181     http://zoo-project.org/trac/wiki/ZooKernel/Embed/PHP
182
183If you want to activate the PHP support for the ZOO Kernel then you will have to use the
184``--with-php`` option. If your php-config program is found in your PATH then you don't have
185to specify the path where PHP was installed, then you can use the following commnd:
186
187::
188
189  $ ./configure --with-php
190
191This assumes that php-config is found in your PATH.
192
193In the case that your php-config is not found in your PATH, then you can specify the PHP installation
194directory you are using. For instance, let's suppose that you installed PHP in /usr/local,
195then you can use the following command:
196
197::
198
199  $ ./configure --with-php=/usr/local
200
201This assumes that /usr/local/bin/php-config exists.
202
203(Optional) Perl Support
204^^^^^^^^^^^^^^^^^^^^^^^
205
206If you want to activate Perl support for the ZOO Kernel then you will have to use the
207``--with-perl`` option. If you do not set any value to this option, then the perl program will
208be searched in your PATH. So in such a case, you can use the following command:
209
210::
211
212  $ ./configure --with-perl
213
214This assumes that perl is found in your PATH.
215
216In the other case, for custom Perl installations, you can set the installation directory. For instance,
217let's suppose that you installed Perl in /usr/local and /usr/local/bin is not in your PATH,
218then you can use the following command:
219
220::
221
222  $ ./configure --with-perl=/usr/local
223
224This assumes that /usr/local/bin/perl exists.
225
226(Optional) Java Support
227^^^^^^^^^^^^^^^^^^^^^^^
228
229If you want to activate Java support for the ZOO Kernel then you will have to use the
230``--with-java`` option and set the installation path of your Java SDK. For instance,
231let's suppose that your Java SDK was installed in the /usr/lib/jvm/java-6-sun-1.6.0.22/ directory,
232then you can use the following command:
233
234::
235
236  $ ./configure --with-java=/usr/lib/jvm/java-6-sun-1.6.0.22/
237
238This assumes that the include/linux and jre/lib/i386/client/ subdirectories exist in
239/usr/lib/jvm/java-6-sun-1.6.0.22/, include/linux contains the jni.h headers file and
240jre/lib/i386/client/ contains the libjvm.so file.
241
242.. note::
243   With Mac OS X you only have to set ``macos`` as the value for the ``--with-java`` option
244   to activate Java support. For example:
245
246   ::
247
248     $ ./configure --with-java=macos
249
250(Optional) JavaScript Support
251^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
252
253If you want to activate JavaScript support for the ZOO Kernel then you will have to use
254the ``--with-js`` option. If you are using a "Debian-like" GNU/Linux distribution then
255dpkg will be used to detect if the required packages are installed and you don't have to
256specify anything here, so you can use the following command:
257
258::
259
260  $ ./configure --with-js
261
262This assumes that js_api.h and libmozjs.so are found in default directories.
263
264If you have a custom installation of SpiderMonkey or you are not using a Debian packaging
265system, then you'll have to specify the directory where you installed it. For
266instance, let's suppose that you installed your SpiderMonkey in /usr, then you'll
267have to use the following command:
268
269::
270
271  $ ./configure --with-js=/usr
272
273This assumes that the /usr/include/js exists and contains the js_api.h headers file and
274/usr/lib contains libmozjs.so file.
275
276.. _win32:   
277
278OpenSUSE
279********
280
281Zoo-Kernel is maintained as a package in `OpenSUSE Build Service (OBS) <https://build.opensuse.org/package/show?package=zoo-kernel&project=Application%3AGeo>`__.
282This way, rpm's are provided for all versions of openSUSE Linux (11.2, 11.3, 11.4, Factory).
283
284Stable Releases
285^^^^^^^^^^^^^^^
286
287For installing Zoo-Kernel in openSUSE there are 3 ways available:
288
289One Click Installer
290###################
291
292One-click installer that can be found  `here <http://software.opensuse.org/search?q=zoo-kernel&baseproject=openSUSE%3A11.4&lang=en&exclude_debug=true>`__.
293For openSUSE 11.4 this is the direct `link <http://software.opensuse.org/ymp/Application:Geo/openSUSE_11.4/zoo-kernel.ymp?base=openSUSE%3A11.4&query=zoo-kernel>`__.
294
295Yast Software Manager using a GUI
296#################################
297
298The `Application:Geo <http://download.opensuse.org/repositories/Application:/Geo/>`__ repository has to be added
299to the Software Repositories and then Zoo-kernel can be found in Software Management through search.
300
301Command line (as root for openSUSE 11.4)
302########################################
303
304::
305
306  zypper ar http://download.opensuse.org/repositories/Application:/Geo/openSUSE_11.4/
307  zypper refresh
308  zypper install zoo-kernel
309
310Unstable Version
311^^^^^^^^^^^^^^^^
312
313The latest development version of ZOO-Kernel can be found in OBS under the project `home:tzotsos <https://build.opensuse.org/project/show?project=home%3Atzotsos>`__.
314ZOO-Kernel packages are maintained and tested there before being released to the Application:Geo repository.
315
316Installation methods are identical as the stable version. Make sure to use `this <http://download.opensuse.org/repositories/home:/tzotsos/>`__ repository instead.
317
318Command line installation (as root for openSUSE 11.4)
319#####################################################
320
321::
322
323  zypper ar http://download.opensuse.org/repositories/home:/tzotsos/openSUSE_11.4/
324  zypper refresh
325  zypper install zoo-kernel
326  zypper install zoo-kernel-grass-bridge
327
328Additionally, there is the option of adding the zoo-wps-grass-bridge package. This option will automatically install grass7 (svn trunk).
329
330Try the Installation
331^^^^^^^^^^^^^^^^^^^^
332
333- http://localhost/cgi-bin/zoo_loader.cgi?ServiceProvider=&metapath=&Service=WPS&Request=GetCapabilities&Version=1.0.0
334- http://localhost/cgi-bin/zoo_loader.cgi?ServiceProvider=&metapath=&Service=WPS&Request=DescribeProcess&Version=1.0.0&Identifier=HelloPy
335- http://localhost/cgi-bin/zoo_loader.cgi?ServiceProvider=&metapath=&Service=WPS&Request=Execute&Version=1.0.0&Identifier=HelloPy&DataInputs=a=myname
336
337CentOS
338******
339
340.. note::
341   This documentation was created thanks to Guillaume Sueur from Neogeo Technologies which took time to test
342   installing the ZOO-Kernel on a CentOS 5.5 environment.
343
344Requirements
345^^^^^^^^^^^^
346
347Install some standard tools to be able to run ZOO-Kernel on your platform :
348
349::
350
351  yum install apache2
352  yum install build-essentials
353  yum install gcc-c++
354  yum install zlib-devel
355  yum install libxml2-devel
356  yum install bison
357  yum install openssl
358  yum install python-devel
359  yum install subversion
360
361Compile then install FastCGI library from source
362
363::
364
365  wget http://www.fastcgi.com/dist/fcgi.tar.gz
366  tar xzf fcgi-2.4.0.tar.gz
367  ./configure
368  make
369  make install
370  echo /usr/local/lib >> /etc/ld.so.conf.d/local.conf
371  ldconfig
372
373Compile then install the autoconf tools :
374
375::
376
377  wget http://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.gz
378  tar xzf autoconf-latest.tar.gz
379  ./configure --prefix=/usr
380  make
381  make install
382
383Compile then install the flex tool :
384
385::
386
387  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
388  tar xzf flex-2.5.35.tar.gz
389  cd flex-2.5.35
390  ./configure --prefix=/usr
391  make
392  make install
393
394Using the curl provided in the CentOS distribution will produce a ZOO-Kernel unable to run any
395Service. Indeed, some segmentation faults occur when trying to run ``Execute`` requests on the ZOO-Kernel,
396compiling the ZOO-Kernel setting ``USE_GDB`` flag in the ``CFLAGS`` of your ``Makefile`` will let you run
397ZOO-Kernel from gdb and be able to get more information on what is going wrong with your ZOO-Kernel.
398Doing this we can figure out that code on `line 173 <http://zoo-project.org/trac/browser/trunk/zoo-kernel/ulinet.c#L173>`__
399and `line 175 <http://zoo-project.org/trac/browser/trunk/zoo-kernel/ulinet.c#L175>`__ have to be commented in the
400``ulinet.c`` file to get a ZOO-Kernel working using the curl available in CentOS (curl version 7.15.5).
401If you don't apply the modification, you will get an error from a gdb session pointing
402segfault in ``Curl_cookie_clearall``.
403
404You can optionally compile then install curl from source :
405
406::
407
408  wget http://curl.haxx.se/download/curl-7.21.3.tar.bz2
409  tar xjf curl-7.21.3.tar.bz2
410  cd curl-7.21.3
411  ./configure --prefix=/usr
412  make
413  make install
414
415Compile then install Python :
416
417::
418 
419  wget http://www.python.org/ftp/python/2.6.6/Python-2.6.6.tar.bz2
420  tar xjf Python-2.6.6.tar.bz2
421  cd Python-2.6.6
422  ./configure
423  make
424  make install
425
426Compile then install your own GDAL library :
427
428::
429
430  wget http://download.osgeo.org/gdal/gdal-1.7.3.tar.gz
431  tar xzf gdal-1.7.3.tar.gz
432  cd gdal-1.7.3
433  ./configure  # add your options here
434  make
435  make install
436
437Install the Sun JAVA SDK into ``/usr/share`` then use the following command to ensure that the ``libjvm.so``
438will be found at runtime from any context.
439
440::
441
442  echo /usr/share/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/client/ >> /etc/ld.so.conf.d/jvm.conf
443  ldconfig
444
445Compile ZOO-Kernel and ZOO-Services
446^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
447
448Compile then install ZOO-Kernel and your first ZOO-Services.
449
450First of all, compile the cgic library providen in the SVN source tree:
451
452::
453
454  svn co http://svn.zoo-project.org/svn/trunk zoo-project
455  cd zoo-project/thirds/cgic206
456  make
457
458Compile then install ZOO-Kernel.
459
460::
461
462  cd ../../zoo-kernel
463  ./configure --with-java=/usr/share/jdk1.6.0_23/ --with-python
464  make zoo_loader.cgi
465  cp main.cfg /var/www/cgi-bin/
466  cp  zoo_loader.cgi /var/www/cgi-bin/
467
468Compile then deploy your first ZOO-ServicesProviders (simple HelloPy, line 1 and 2, and the OGR base-vect-ops
469ServiceProvider, line 3 to 6):
470
471::
472
473  cp ../zoo-services/hello-py/cgi-env/*.zcfg /var/www/cgi-bin/
474  cp ../zoo-services/hello-py/test_service.py /var/www/cgi-bin/
475  cd ../ogr/base-vect-ops/
476  make
477  cp ./cgi-env/* /var/www/cgi-bin/
478  vi /var/www/cgi-bin/main.cfg --> set your own informations here
479
480To ensure that the ``libjvm.so`` will be found from apache, please restart it :
481
482::
483
484  /etc/init.d/httpd restart
485
486Testing your ZOO-Kernel
487^^^^^^^^^^^^^^^^^^^^^^^
488
489Test your ZOO-Kernel from command line:
490
491::
492
493  cd /var/www/cgi-bin
494  ./zoo_loader.cgi "request=Execute&service=WPS&version=1.0.0&Identifier=HelloPy&DataInputs=a=Djay"
495  ./zoo_loader.cgi "request=Execute&service=WPS&version=1.0.0&Identifier=Buffer&DataInputs=BufferDistance=1@datat
496
497Debian / Ubuntu
498***************
499
500.. note::
501   An Ubuntu 10.4 with ZOO virtual image is available at http://www.zoo-project.org/Ubuntu10.4_ZOO.zip
502   (root: ZOO.test)
503
504The following instructions were tested on Debian Squeeze, Ubuntu 10.04 and Ubuntu 10.10
505
506Installation Workflow
507^^^^^^^^^^^^^^^^^^^^^
508
509- install some dependencies
510
511::
512
513  sudo apt-get install flex bison libfcgi-dev libxml2 libxml2-dev curl openssl autoconf checkinstall
514
515- download ZOO  source
516
517::
518
519  svn checkout http://svn.zoo-project.org/svn/trunk zoo-project
520
521- install cgic from packages
522
523::
524
525  cd zoo-project/thirds/cgic206/
526
527- change the path of installation
528
529::
530
531  nano Makefile
532    - LIBS=-L./ -lcgic ../fcgi-2.4.0/libfcgi/.libs/libfcgi.a --> LIBS=/path/to/libfcgi.a
533    - cp libcgic.a  ../../dist/lib --> cp libcgic.a /usr/lib
534    - cp cgic.h  ../../dist//include --> cp cgic.h  /usr/include
535    - @echo libcgic.a is in  ../../dist/lib and cgic.h is in  ../../dist//include. --> @echo libcgic.a is in  /usr/lib and cgic.h is in /usr/include.
536
537- compile
538
539::
540
541  make
542
543- install
544
545::
546
547  sudo make install
548
549- go to kernel path
550
551::
552
553  cd ../../zoo-kernel/
554
555- create configure file
556
557::
558
559  autoconf
560
561- run configure
562
563.. note::
564   In Ubuntu 10.04 libmozjs-dev does not exist, so to use JS you can compile `SpiderMonkey <https://developer.mozilla.org/en/SpiderMonkey>`__ or use the xulrunner-dev package
565   which includes SpiderMonkey. 
566   For PHP, you must make sure to compile PHP with `--enable-embed <http://www.zoo-project.org/trac/wiki/ZooKernel/Embed/PHP#ConfigureandInstallPHPEmbedlibrary>`__.
567
568::
569
570  ./configure --with-java=/path/to/java
571 
572  to JavaScript with XulRunner SpiderMonkey you have to edit configure file.
573    - JS_CPPFLAGS="-I$JSHOME/include/js" --> JS_CPPFLAGS="-I$JSHOME/include"
574    - JS_LDFLAGS="-L$JSHOME/lib -ljs -lm" --> JS_LDFLAGS="-L$JSHOME/lib -lmozjs -lm"
575    - JS_LIB="js" --> JS_LIB="mozjs"
576   
577  ./configure --with-js=/usr/lib/xulrunner-devel.1.9.2.n
578
579- compile
580
581::
582
583  make zoo_loader.cgi
584
585- copy necessary files into your cgi-bin
586
587::
588
589  sudo cp main.cfg /usr/lib/cgi-bin
590  sudo cp zoo_loader.cgi /usr/lib/cgi-bin
591
592- Install ZOO ServiceProvider
593
594::
595
596  sudo cp ../zoo-services/hello-py/cgi-env/*.zcfg /usr/lib/cgi-bin
597  sudo cp ../zoo-services/hello-py/*.py /usr/lib/cgi-bin/
598
599- change some paths in the main.cfg
600
601::
602
603  sudo nano /usr/lib/cgi-bin/main.cfg
604    - serverAddress = http://127.0.0.1
605    - providerSite = http://127.0.0.1
606
607
608- try the installation
609
610  - http://127.0.0.1/cgi-bin/zoo_loader.cgi?ServiceProvider=&metapath=&Service=WPS&Request=GetCapabilities&Version=1.0.0
611  - http://127.0.0.1/cgi-bin/zoo_loader.cgi?ServiceProvider=&metapath=&Service=WPS&Request=DescribeProcess&Version=1.0.0&Identifier=HelloPy
612  - http://127.0.0.1/cgi-bin/zoo_loader.cgi?ServiceProvider=&metapath=&Service=WPS&Request=Execute&Version=1.0.0&Identifier=HelloPy&DataInputs=a=myname
613
614.. note::
615   If you have some problem in the execute request, add the following to ``main.cfg``:
616
617   ::
618   
619     [env]
620     PYTHONPATH=<YOUR_PYTHONPATH>
621
622WIN32
623-----
624
625To be written soon ...
626
627Mac OS X
628--------
629
630Using the Installer
631*******************
632
6331. To install a default build of the ZOO-Project on your Mac OS X computer use the `installer <http://www.zoo-project.org/trac/raw-attachment/wiki/ZooDocumentation/ZOOKernel/MacOSX_installation/ZOO-Project-Installer.pkg>`__.
634
635   .. note::
636      The installer assumes that you are using the distributed Apache2 version that comes with your Mac.  The installer will
637      place ZOO-Kernel and ZOO-Services into your cgi-bin at ``/Library/WebServer/CGI-Executables``, and the zoo-demo folder
638      will be placed within your document root at ``/Library/WebServer/Documents``
639
6402. Make sure that your Apache server is running, and then access the ZOO Project Demo at:
641
642      http://localhost/zoo-demo/spatialtools.html
643     
6443. To add additional services, please follow the following intructions to compile your own ZOO Project instance.
645
646Compiling from Source
647*********************
648
6491. Install `Xcode <http://developer.apple.com/technologies/tools/>`__.
650
6512. Before you start downloading the ZOO-Project source code, you'll need to install some tools required to
652   compile ZOO-Kernel properly.
653
654   First of all install PROJ, GEOS and GDAL frameworks from `here <http://www.kyngchaos.com/software/frameworks>`__.
655
656   At this step, you should get the following directories on your local hard drive :
657
658   ::
659   
660     /Library/Frameworks/PROJ.framework
661     /Library/Frameworks/GEOS.framework
662     /Library/Frameworks/GDAL.framework
663
6643. Then, create a ``src`` directory and inside that directory download the `gettext source code <http://www.gnu.org/software/gettext/#TOCdownloading>`__ and uncompress it.
665
666   now, compile gettext with the following commands to produce a universal binary :
667
668   ::
669   
670     cd gettext-0.18.1.1
671     CFLAGS="-O -g -arch i386 -arch ppc -arch x86_64"  \
672       LDFLAGS="-arch i386 -arch ppc -arch x86_64"   ./configure
673     make
674     sudo make install
675
6764. Compile and install your ZOO-Kernel
677
678   - Download source from SVN, and use the following command to compile libcgic :
679
680     ::
681     
682       svn co http://svn.zoo-project.org/svn/trunk zoo
683       cd zoo/thirds/cgic206
684       make
685
686   - If you produced the ``libcgic.a`` file, you can run ``autoconf`` and then ``configure`` from zoo-kernel directory.
687
688     ::
689     
690       cd zoo/zoo-kernel
691       autoconf
692       ./configure --with-python --with-java=macos \
693          --with-gdal-config=/Library/Frameworks/GDAL.framework/Versions/1.8/Programs/gdal-config
694
695     Obviously, if you don't need Python or Java support then you should remove the corresponding configure option.
696
697     .. note::
698        Note that we used the --with-java=macos configure option. Due to the generic location of the JDK on all
699        Mac OS X platforms, you don't have to provide its full path.
700
701   - Now, run the following commands to compile and deploy your ZOO-Kernel on your Apache server :
702
703     ::
704     
705       make
706       cp zoo_loader.cgi main.cfg /Library/WebServer/CGI-Executables
707
708     You should be ready to request your ZOO-Kernel installation using the following link :  http://localhost/cgi-bin/zoo_loader.cgi?request=GetCapabilities&service=WPS .
709
710     If everything is ok, you can follow the next steps to deploy new Services Providers.
711     
712     .. note::
713        If you are using your own libs (not the default libs on your system) then you must take care to create
714        universal versions of those libs, as the ZOO-Kernel will try to create a universal binary.  If you are
715        not following this advice, you might receive compile errors of ``symbol(s) not found for architecture ppc`` or ``file was built for
716        unsupported file format which is not the architecture being linked (ppc)``.
717     
718Deploy the OGR Services Provider
719********************************
720
721Requirements
722^^^^^^^^^^^^
723
724Before your try to use any service, please set the correct path in the ``main.cfg`` for tmpPath and tmpUrl.
725
726You can use the following setup :
727
728::
729
730  tmpPath = /Library/WebServer/Documents/tmp
731  tmpUrl = ../../tmp
732
733Obviously you'll then need to create this directory, using the following command :
734
735::
736
737  mkdir /Library/WebServer/Documents/tmp
738
739C Version
740^^^^^^^^^
741
742To compile the base-vect-ops ServicesProvider you'll need to edit the Makefile in *zoo/zoo-services/ogr/base-vect-ops/*
743directory. Add "-I/Library//Frameworks/GEOS.framework/Versions/3/Headers/" to the CFLAGS value on the first line.
744To compile, add GDAL framework to the PATH environmenet variable, to ensure that gdal-config tool will be found,
745run make and then copy cgi-env files in the /Library/WebServer/CGI-Executables directory.
746
747::
748
749  cd zoo/zoo-services/ogr/base-vect-ops/
750  export PATH=$PATH:/Library/Frameworks/GDAL.framework/Versions/1.7/Programs/
751  make
752  cp cgi-env/* /Library/WebServer/CGI-Executables
753
754You can test using this `url <http://localhost/cgi-bin/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>`__
755if everything is ok with your setup.
756
757Python Version
758^^^^^^^^^^^^^^
759
760**Requirements**
761
762First of all run python from a Terminal.app and try the following import from the python interpreter :
763
764::
765
766  import osgeo.ogr
767  import libxml2
768
769If you get an issue when importing the libxml2 module from your python interpreter then that means you
770need to install the Python support for the libxml2 library which is already installed on your Mac OS X environment.
771To accomplish this, you have first to determine what version of libxml2 is installed on your platform, using the following command:
772
773xml2-config --version
774
775Download the source corresponding to your version (i.e. on 10.6.6 you get 2.7.3) from the libxml2 
776`download page <ftp://xmlsoft.org/libxml2/>`__ into your ``src`` directory then uncompress it.
777
778Use the following command to install the python support :
779
780::
781
782  cd src/libxml2-2.7.3/python/
783  python setup.py install
784
785**Deploy OGR Python Services Provider**
786
787- Now copy the ``zoo-services/ogt/base-vect-ops/cgi-env`` files into ``/Library/WebServer/CGI-Executables``.
788
789You can test using this `url <http://localhost/cgi-bin/zoo_loader.cgi?request=Execute&service=WPS&version=1.0.0&Identifier=BufferPy&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>`__
790if everything is ok with your setup.
791
792Test using Local Demo Page
793**************************
794
795- Download the `OpenLayers <http://openlayers.org>`__ library and uncompress it in your personal Sites directory
796  (located in your home directory).
797 
798- Rename the OpenLayers directory as openlayers.
799
800- Download this `zip archive <http://www.zoo-project.org/trac/raw-attachment/wiki/ZooDocumentation/ZOOKernel/MacOSX_installation/zoo-demo.zip>`__
801  and then uncompress it in your personal Sites directory.
802 
803- Load your local demo pages using urls similar to the following (replacing MyUserName by your MacOS user name) :
804
805    *  http://localhost/~MyUserName/zoo-demo/spatialtools.html
806    *  http://localhost/~MyUserName/zoo-demo/spatialtools-py.html
807
808
809
Note: See TracBrowser for help on using the repository browser.

Search

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