Opened 3 years ago

Closed 3 years ago

#1850 closed defect (fixed)

ZOO-Project-1.6.0

Reported by: djay Owned by: live-demo@…
Priority: major Milestone: OSGeoLive10.5
Component: OSGeoLive Keywords:
Cc: live-demo@…

Description

I have tried today the following iso image.

When starting it, none of the ZOO-Project demos were working. He are the solutions I have used to get the demos working again.

By using the ldd tool, I was able to identify that the libjvm.so cannot be found. So, I have added a zo-project.conf file to the /etc/ld.so.conf.d/ directory to add a file containing the directory where the libjvm.so can be found. Run the sudo ldconfig command and from here, both the CGAL and the OGR base-vect-ops demos were working.

When trying to run the OTB demo, I noticed in the apache's error.log file says that the updateStatus.xsl cannot be found in /var/data. Indeed, the /var/data directory does not exists (a file with the same name is present), so I have removed the file and created a directory, I have set www-data the owner of the directory and downloaded there the updateStatus.xsl file. From here, the Smoothing service from the demo UI was working for both image/tiff and image/jpeg. Still the image/png output does not work currently. I am working on this and will provide feedbacks asap.

Change history (13)

comment:1 Changed 3 years ago by Bas Couwenberg

updateStatus.xsl is installed in /usr/share/zoo-service-status/ because installing it in /var/data is a FHS violation.

Setting dataPath in main.cfg to /usr/share/zoo-service-status/ may be sufficient.

The path to libjvm.so differs depending on which JRE is installed and which JDK zoo-project was built with, so adding a ld.so.conf snippet is not a good solution. I'm not sure what the proper solution for JNI bindings is.

comment:2 Changed 3 years ago by kalxas

Cc: live-demo@… added
Priority: normalmajor

comment:3 in reply to:  1 Changed 3 years ago by djay

Replying to sebastic:

updateStatus.xsl is installed in /usr/share/zoo-service-status/ because installing it in /var/data is a FHS violation.

Setting dataPath in main.cfg to /usr/share/zoo-service-status/ may be sufficient.

Indeed, this should be sufficient to have the GetStatus service working.

comment:4 Changed 3 years ago by kalxas

Perhaps /var/tmp/zoo-service ?

comment:5 Changed 3 years ago by kalxas

Also the main.cfg file can now be located at /etc/zoo-project/

http://zoo-project.org/docs/install/installation.html#specific-main-cfg-location-optional

comment:6 Changed 3 years ago by Bas Couwenberg

/var/lib/zoo-project or /var/lib/zoo-kernel would be better, since dataPath is also used for MapServer? mapfiles.

cachePath should likewise be /var/cache/zoo-project or /var/cache/zoo-kernel instead of /tmp.

comment:7 in reply to:  1 ; Changed 3 years ago by Bas Couwenberg

Replying to sebastic:

The path to libjvm.so differs depending on which JRE is installed and which JDK zoo-project was built with, so adding a ld.so.conf snippet is not a good solution. I'm not sure what the proper solution for JNI bindings is.

Setting RPATH like GDAL may be good enough, see:

https://trac.osgeo.org/gdal/browser/tags/2.1.2/gdal/configure.in#L4661

comment:8 Changed 3 years ago by djay

Report about the setup made on osgeo-live-nightly-build42-amd64-bae0e1c.iso .

It looks like almost everything is here. But some things are not in the right place, the first that makes the OTB demo failing, is that there are 2 main.cfg files, one located in /etc/zoo-project which contains only the minimal setup and one in /usr/lib/cgi-bin that contains all the correct settings required to get the demos working properly. So simply moving the correct main.cfg to /usr/lib/cgi-bin solves this issue.

Once the issue with main.cfg is solved, the MapServer? WMS generated by the OTB demo still not displaying. Indeed, it search for a symbols.sym file in the dataPath directory, so in the /var/lib/zoo-project directory. This file should be created and the owner of this directory should be set to www-data as it should be writable by the apache user.

Once this two steps has been completed, everything works properly.

comment:9 in reply to:  7 Changed 3 years ago by djay

Replying to sebastic:

Replying to sebastic:

The path to libjvm.so differs depending on which JRE is installed and which JDK zoo-project was built with, so adding a ld.so.conf snippet is not a good solution. I'm not sure what the proper solution for JNI bindings is.

Setting RPATH like GDAL may be good enough, see:

https://trac.osgeo.org/gdal/browser/tags/2.1.2/gdal/configure.in#L4661

Thanks, from r809, you can now use the --with-java-rpath=yes option to set the RPATH like in GDAL.

comment:10 Changed 3 years ago by Bas Couwenberg

There is only a single a main.cfg in the zoo-project distribution:

zoo-project/zoo-kernel/main.cfg

This gets installed in /etc/zoo-project

Where can the second file with correct settings for the demos be found?

And why doesn't make install take care for installing the required files?

None of the zoo-project packages have a dependency on apache (or other webserver) so there is no guarantee that a webserver user exists.

In OSGeo-Live this can be worked around in the install script, but for now a proper package cannot be made for zoo-project.

comment:11 in reply to:  10 Changed 3 years ago by djay

Replying to sebastic:

There is only a single a main.cfg in the zoo-project distribution:

zoo-project/zoo-kernel/main.cfg

This gets installed in /etc/zoo-project

I was speaking about the setup that has been made in this iso specifically : osgeo-live-nightly-build42-amd64-bae0e1c.iso . This setup contains 2 main.cfg.

Where can the second file with correct settings for the demos be found?

From here, the main.cfg file should come from the demo archive. This demo archive also contains a demo web application to interact with OTB, CGAL and OGR WPS services.

And why doesn't make install take care for installing the required files?

make install should install both zoo_loader.cgi, libzoo_service.so and the main.cfg files.

If we speak about the missing symbols.sym file, then it can be a simple text file containing only the following two lines:

SYMBOLSET
END

None of the zoo-project packages have a dependency on apache (or other webserver) so there is no guarantee that a webserver user exists.

zoo_loader.cgi can be used from the command line, but it does not make much sense by now to install it without a web server.

In OSGeo-Live this can be worked around in the install script, but for now a proper package cannot be made for zoo-project.

I am not sure to understand what have to fixed here.

comment:12 Changed 3 years ago by kalxas

Just to make things a bit clear:

The contents of the demo archive are to be installed only in OSGeo-Live. I will move around some files to make this work for the iso.

For the general installation case (e.g. Debian, Ubuntu etc) I agree with the suggestions proposed by Sebastian. Regarding the missing symbols.sym file, perhaps an example should be added in the zoo release archive...

comment:13 Changed 3 years ago by kalxas

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.