Opened 8 years ago

Closed 8 years ago

Last modified 8 years ago

#1710 closed defect (fixed)

ZOO packages missing from Xenial

Reported by: kalxas Owned by: kalxas
Priority: blocker Milestone: OSGeoLive10.0
Component: OSGeoLive Keywords:
Cc: live-demo@…, djay

Description

The installer is disabled until we have a recent package done. Previous 1.3.0 version will not do since it does not support GDAL 2.x

Attachments (2)

build_1.log (187.2 KB ) - added by kalxas 8 years ago.
Deb build log
build_2.log (267.8 KB ) - added by kalxas 8 years ago.

Download all attachments as: .zip

Change history (15)

comment:1 by djay, 8 years ago

You can use the following command from a running OSGeoLiveDVD 10.

Packages required to build

sudo apt-get install flex bison libfcgi-dev libxml2 libxml2-dev curl openssl autoconf apache2 python-software-properties subversion libmozjs185-dev python-dev build-essential libxslt1-dev libmapserver-dev libgdal-dev 

ZOO-Project building for OSGeoLive

mkdir src
svn checkout http://svn.zoo-project.org/svn/trunk zoo
cd zoo/zoo-project/thirds/cgic206/
make
cd ../../zoo-project/zoo-kernel/
autoconf
./configure --with-python --with-js --with-java=/usr/lib/jvm/java-8-openjdk-amd64 --with-mapserver=/usr --with-ms-version=7
make 
sudo make install
sudo cp main.cfg /usr/lib/cgi-bin/
sudo cp ../zoo-api/js/* /usr/lib/cgi-bin 
cd ../zoo-services/ogr/base-vect-ops
make
sudo cp cgi-env/* /usr/lib/cgi-bin 

ZOO-Project configuration

echo "/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/" > /etc/ld.so.conf.d/zoo.conf
sudo ldconfig

Web UI to interract with the OGR services

wget http://zoo-project.org/dl/examples.7z
7zr x examples.7z 
cp -r examples /var/www/html/zoo-demo

Now, you can access the demo using the following URL: http://localhost/zoo-demo/ .

Let me know if I need to provide an archive containing the pre-built binaries.

comment:2 by kalxas, 8 years ago

Thank you Gerald,

I will try to create a debian package from this info.

comment:3 by kalxas, 8 years ago

Owner: changed from live-demo@… to kalxas
Status: newassigned

by kalxas, 8 years ago

Attachment: build_1.log added

Deb build log

comment:4 by kalxas, 8 years ago

Cc: djay added

Hi Gerald,

I have attached a build log. There are build issues with ZOO trunk (rev771).

Any ideas what is wrong?

comment:5 by djay, 8 years ago

Gasp, sorry this is my fault, I thought the length lambda expression was removed already, but it was not.

Now the issue is fixed.

I hope to hear that ZOO-Project came back on OSGeoLiveDVD.

comment:6 by kalxas, 8 years ago

Thanks for the fix Gerald.

The kernel now completes the build, but I am getting the following in zoo-services/cgal:

make[2]: Leaving directory '/build/zoo-project-1.6.0~rev773/zoo-project/zoo-kernel'
dh_auto_build --builddirectory zoo-project/zoo-services/cgal
        make -j1
make[2]: Entering directory '/build/zoo-project-1.6.0~rev773/zoo-project/zoo-services/cgal'
g++ -I/usr/local/include -I../../../thirds/cgic206/ -I../../zoo-kernel/ -I/usr/include/libxml2 -I/usr/include/gdal -I/usr/include/python2.7 -I/usr/include/x86_64-linux-gnu/python2.7 -I/usr/include -frounding-math -fPIC -DLINUX_FREE_ISSUE  -c ./cgal_service.c
./cgal_service.c: In function 'int parseInput(maps*, maps*, std::vector<CGAL::Point_2<CGAL::Epick> >*, char*)':
./cgal_service.c:31:26: error: 'Open' is not a member of 'OGRSFDriverRegistrar'
   OGRDataSource* ipoDS = OGRSFDriverRegistrar::Open(filename,FALSE);
                          ^
./cgal_service.c:42:59: error: 'class GDALDriver' has no member named 'GetName'
    fprintf( stderr, "  -> %s\n", poR->GetDriver(iDriver)->GetName() );
                                                           ^
Makefile:12: recipe for target 'cgal_service.o' failed
make[2]: *** [cgal_service.o] Error 1
make[2]: Leaving directory '/build/zoo-project-1.6.0~rev773/zoo-project/zoo-services/cgal'
dh_auto_build: make -j1 returned exit code 2
debian/rules:11: recipe for target 'override_dh_auto_build' failed
make[1]: *** [override_dh_auto_build] Error 2
make[1]: Leaving directory '/build/zoo-project-1.6.0~rev773'
debian/rules:5: recipe for target 'build' failed
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2

comment:7 by Bas Couwenberg, 8 years ago

OGRSFDriverRegistrar has been deprecated in GDAL 2.x.

The removal of the methods is documented in the MIGRATION GUIDE FROM GDAL 1.11 to GDAL 2.0:

C++ API:

  • OGRSFDriverRegistrar and OGRSFDriver are now deprecated. Use GDALDriverManager and GDALDriver instead.
  • The following methods from OGRSFDriverRegistrar are removed : Open(), OpenShared(), ReleaseDataSource(), DeregisterDriver(), AutoLoadDrivers() GetDriver() and GetDriverByName() now return a GDALDriver* instance.
  • OGRDataSource::CreateLayer() specialized implementations should be renamed as ICreateLayer() to benefit from layer creation options validation.
  • OGRLayer::GetInfo() has been removed.
  • All methods of OGRDataSource have been transferred to GDALDataset, except SyncToDisk() that should now be implemented as FlushCache() in drivers.
  • GDALOpenInfo::papszSiblingFiles member is now private. Use the new GetSiblingFiles() method instead.
  • GDALOpenInfo::fp member is replaced by fpL member of type VSILFILE*.
  • OGRSFDriver::CopyDataSource() has been removed.
  • GDALDriverManager::GetHome() and SetHome() have been removed.

comment:10 by kalxas, 8 years ago

Resolution: fixed
Status: assignedclosed

in reply to:  6 ; comment:11 by djay, 8 years ago

Replying to kalxas:

Thanks for the fix Gerald.

The kernel now completes the build, but I am getting the following in zoo-services/cgal:

make[2]: Leaving directory '/build/zoo-project-1.6.0~rev773/zoo-project/zoo-kernel'
dh_auto_build --builddirectory zoo-project/zoo-services/cgal
        make -j1
make[2]: Entering directory '/build/zoo-project-1.6.0~rev773/zoo-project/zoo-services/cgal'
g++ -I/usr/local/include -I../../../thirds/cgic206/ -I../../zoo-kernel/ -I/usr/include/libxml2 -I/usr/include/gdal -I/usr/include/python2.7 -I/usr/include/x86_64-linux-gnu/python2.7 -I/usr/include -frounding-math -fPIC -DLINUX_FREE_ISSUE  -c ./cgal_service.c
./cgal_service.c: In function 'int parseInput(maps*, maps*, std::vector<CGAL::Point_2<CGAL::Epick> >*, char*)':
./cgal_service.c:31:26: error: 'Open' is not a member of 'OGRSFDriverRegistrar'
   OGRDataSource* ipoDS = OGRSFDriverRegistrar::Open(filename,FALSE);
                          ^
./cgal_service.c:42:59: error: 'class GDALDriver' has no member named 'GetName'
    fprintf( stderr, "  -> %s\n", poR->GetDriver(iDriver)->GetName() );
                                                           ^
Makefile:12: recipe for target 'cgal_service.o' failed
make[2]: *** [cgal_service.o] Error 1
make[2]: Leaving directory '/build/zoo-project-1.6.0~rev773/zoo-project/zoo-services/cgal'
dh_auto_build: make -j1 returned exit code 2
debian/rules:11: recipe for target 'override_dh_auto_build' failed
make[1]: *** [override_dh_auto_build] Error 2
make[1]: Leaving directory '/build/zoo-project-1.6.0~rev773'
debian/rules:5: recipe for target 'build' failed
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2

Thanks a lot for the report, this issue should be solved by using the revision 775 of the ZOO-Project.

in reply to:  11 comment:12 by djay, 8 years ago

Angelos, I have made some modification to the procedure to install the ZOO-Project including both CGAL and OTB services. this new version provides also a new demo index page giving access to each individual demo UIs (for org, cgal and otb respectively).

Here is the sligthly modified procedure.

New install procedure

You can use the following command from a running OSGeoLiveDVD 10 to install ZOO-Project revision 776 including both CGAL and OTB services, and the corresponding demo UI to interact with.

Packages required to build

sudo apt-get install flex bison libfcgi-dev libxml2 libxml2-dev curl openssl autoconf apache2 python-software-properties subversion libmozjs185-dev python-dev build-essential libxslt1-dev libmapserver-dev libgdal-dev libcgal-dev libotb-dev libfftw3-dev libtinyxml-dev

ZOO-Project building for OSGeoLive

mkdir src
svn checkout http://svn.zoo-project.org/svn/trunk zoo
cd zoo/zoo-project/thirds/cgic206/
make
cd ../../zoo-project/zoo-kernel/
autoconf
./configure --with-python --with-js --with-java=/usr/lib/jvm/java-8-openjdk-amd64 --with-mapserver=/usr --with-ms-version=7 --with-cgal=/usr --with-otb=/usr --with-itk-version=4.9 --with-itk=/usr --with-otb-version=5.4
make 
sudo make install
sudo cp ../zoo-api/js/* /usr/lib/cgi-bin 
cd ../zoo-services/utils/status
make
sudo cp cgi-env/* /usr/lib/cgi-bin 
sudo mkdir /var/data
sudo cp cgi-env/updateStatus.xsl /var/data
cd ../../ogr/base-vect-ops
make
sudo cp cgi-env/* /usr/lib/cgi-bin 
cd ../../cgal
make
sudo cp cgi-env/* /usr/lib/cgi-bin 
cd ../../thirds/otb2zcfg
mkdir build
cd build
cmake ..
make
mkdir ../zcfgs
cd ../zcfgs
export ITK_AUTOLOAD_PATH=/usr/lib/otb/applications/
otb2zcfg 
for i in BandMath Despeckle KMeansClassification; do 
sudo sed "s:mimeType = image/png:mimeType = image/png\nuseMapserver = true\nmsClassify = true:g" -i $i.zcfg
done
for i in Smoothing; do 
sudo sed "s:mimeType = image/png:mimeType = image/png\nuseMapserver = true" -i $i.zcfg
done
sudo mkdir /usr/lib/cgi-bin/OTB
sudo cp *zcfg /usr/lib/cgi-bin/OTB

ZOO-Project configuration

echo "/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/" > /etc/ld.so.conf.d/zoo.conf
sudo ldconfig

Web UI to interract with the OGR/CGAL/OTB services

wget http://zoo-project.org/dl/examples-livedvd.tar.bz2
tar -xf examples-livedvd.tar.bz2 
sudo cp -r zoo-demo /var/www/html/zoo-demo
sudo cp zoo-demo/main.cfg /usr/lib/cgi-bin
sudo cp zoo-demo/symbols.sym /var/data
sudo ln -s /tmp /var/www/html/mpPathRelativeToServerAdress
sudo chown -R www-data:www-data /var/data
rm -rf zoo-demo

Now, you can access the demos index page using the following URL: http://localhost/zoo-demo/ .

I would like to know if it may be possible to integrate this new version on OSGeoLiveDVD.

by kalxas, 8 years ago

Attachment: build_2.log added

comment:13 by kalxas, 8 years ago

Hi Gerald,

I am attaching the full build log as attachment.

I am getting an error building the status module:

make[2]: Leaving directory '/build/zoo-project-1.5.0+svn776/zoo-project/zoo-kernel'
cd zoo-project/zoo-services/utils/status && make && cd ../../../../
make[2]: Entering directory '/build/zoo-project-1.5.0+svn776/zoo-project/zoo-services/utils/status'
g++ -I/usr/local/include -I../../../../thirds/cgic206/ -I../../../zoo-kernel/ -I/usr/include/libxml2 -I/usr/include/gdal -I/usr/include/python2.7 -I/usr/include/x86_64-linux-gnu/python2.7 -DLINUX_FREE_ISSUE  -shared -fpic -o cgi-env/wps_status.zo ./service.c -L/usr/lib -lgdal -lxml2  -lcrypto -L/usr//lib -lssl -luuid  -lxslt -lxml2 -L/usr/lib -lfcgi -L/usr/local/lib -lzoo_service
In file included from /usr/include/c++/5/bits/stringfwd.h:40:0,
                 from /usr/include/c++/5/string:39,
                 from /usr/include/x86_64-linux-gnu/unicode/std_string.h:33,
                 from /usr/include/x86_64-linux-gnu/unicode/unistr.h:31,
                 from /usr/include/x86_64-linux-gnu/unicode/strenum.h:14,
                 from /usr/include/x86_64-linux-gnu/unicode/uenum.h:24,
                 from /usr/include/x86_64-linux-gnu/unicode/ucnv.h:51,
                 from /usr/include/libxml2/libxml/encoding.h:31,
                 from /usr/include/libxml2/libxml/parser.h:810,
                 from /usr/include/libxml2/libxml/globals.h:18,
                 from /usr/include/libxml2/libxml/threads.h:35,
                 from /usr/include/libxml2/libxml/xmlmemory.h:218,
                 from /usr/include/libxml2/libxml/tree.h:1307,
                 from ./service.c:29:
/usr/include/c++/5/bits/memoryfwd.h:63:3: error: template with C linkage
   template<typename>
   ^
/usr/include/c++/5/bits/memoryfwd.h:66:3: error: template specialization with C linkage
   template<>
   ^
/usr/include/c++/5/bits/memoryfwd.h:70:3: error: template with C linkage
   template<typename, typename>
   ^
In file included from /usr/include/c++/5/string:39:0,
                 from /usr/include/x86_64-linux-gnu/unicode/std_string.h:33,
                 from /usr/include/x86_64-linux-gnu/unicode/unistr.h:31,
                 from /usr/include/x86_64-linux-gnu/unicode/strenum.h:14,
                 from /usr/include/x86_64-linux-gnu/unicode/uenum.h:24,
                 from /usr/include/x86_64-linux-gnu/unicode/ucnv.h:51,
                 from /usr/include/libxml2/libxml/encoding.h:31,
                 from /usr/include/libxml2/libxml/parser.h:810,
                 from /usr/include/libxml2/libxml/globals.h:18,
                 from /usr/include/libxml2/libxml/threads.h:35,
                 from /usr/include/libxml2/libxml/xmlmemory.h:218,
                 from /usr/include/libxml2/libxml/tree.h:1307,
                 from ./service.c:29:
/usr/include/c++/5/bits/stringfwd.h:52:3: error: template with C linkage
   template<class _CharT>
   ^
/usr/include/c++/5/bits/stringfwd.h:55:3: error: template specialization with C linkage
   template<> struct char_traits<char>;
Note: See TracTickets for help on using tickets.