Opened 7 years ago
Closed 6 years ago
#2063 closed defect (fixed)
ZOO Project package missing from Bionic
Reported by: | kalxas | Owned by: | |
---|---|---|---|
Priority: | critical | Milestone: | OSGeoLive12.0 |
Component: | OSGeoLive | Keywords: | zoo-project |
Cc: | osgeolive@… |
Description
The following packages are missing from Bionic and need to be packaged in OSGeoLive ppa: zoo-kernel zoo-service-ogr zoo-service-status zoo-service-cgal zoo-service-otb zoo-api
Attachments (2)
Change History (19)
comment:1 by , 6 years ago
comment:4 by , 6 years ago
I don't understand how we can get this message. Indeed, if we look in the configure.ac file that is used to build the ZOO-Kernel, we can see the following: http://www.zoo-project.org/trac/browser/tags/rel-1.6.0/zoo-project/zoo-kernel/configure.ac#L861 .
From the log you have provided we can see that the file otbWrapperApplicationRegistry.h have been correctly found. Nevertheless, from the line I gave earlier, we can easily see that we simply create a very basic C++ file that is including this specific header file and invoke the otb::Wrapper::ApplicationRegistry::GetAvailableApplications() static function.
I do apologize for this last minute issue.
follow-up: 7 comment:5 by , 6 years ago
Some progress has been made in building ZOO, but it seems that ZOO depends on libc++ xlocale.h header that has been removed:
https://sourceware.org/ml/libc-alpha/2017-08/msg00010.html
https://sourceware.org/glibc/wiki/Release/2.26#Removal_of_.27xlocale.h.27
make[2]: Leaving directory '/<<BUILDDIR>>/zoo-project-1.6.0~rc2+ds/thirds/cgic206' make[2]: Entering directory '/<<BUILDDIR>>/zoo-project-1.6.0~rc2+ds/thirds/cgic206' rm -f libcgic.a ar rc libcgic.a cgic.o ranlib libcgic.a make[2]: Leaving directory '/<<BUILDDIR>>/zoo-project-1.6.0~rc2+ds/thirds/cgic206' make[2]: Entering directory '/<<BUILDDIR>>/zoo-project-1.6.0~rc2+ds/thirds/cgic206' gcc capture.o -o capture -L./ -lcgic /usr/lib/x86_64-linux-gnu/libfcgi.a make[2]: Leaving directory '/<<BUILDDIR>>/zoo-project-1.6.0~rc2+ds/thirds/cgic206' make[2]: Entering directory '/<<BUILDDIR>>/zoo-project-1.6.0~rc2+ds/thirds/cgic206' gcc cgictest.o -o cgictest.cgi -L./ -lcgic /usr/lib/x86_64-linux-gnu/libfcgi.a make[2]: Leaving directory '/<<BUILDDIR>>/zoo-project-1.6.0~rc2+ds/thirds/cgic206' dh_auto_build --sourcedirectory=zoo-project/zoo-kernel \ --builddirectory=zoo-project/zoo-kernel \ --max-parallel=1 cd zoo-project/zoo-kernel && make -j1 make[2]: Entering directory '/<<BUILDDIR>>/zoo-project-1.6.0~rc2+ds/zoo-project/zoo-kernel' echo "#define ZOO_VERSION \"`dpkg-parsechangelog -l ../../debian/changelog | sed -ne 's/^Version: \(.*\)-.*/\1/p' | sed -e 's/.*+svn//; s/+ds[0-9]*//; s/^[0-9]://'`\"" > version.h echo "#define ETC_DIR \"/etc/zoo-project\"" >> version.h echo "#define LOCALEDIR \"/usr/share/locale\"" >> version.h gcc -I/usr/include/gdal -DUSE_JS -I/usr/include/js/ -I/usr/include/libxml2 -g -O2 -fdebug-prefix-map=/<<BUILDDIR>>/zoo-project-1.6.0~rc2+ds/zoo-project/zoo-kernel=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -DDEB -fpic -I/usr//include -I/usr/include -DUSE_MS -I/usr/include/mapserver -I../../thirds/cgic206 -I. -DLINUX_FREE_ISSUE -fPIC -c service_internal.c In file included from service_internal_ms.h:28:0, from service_internal.c:27: service_internal.h:84:10: fatal error: xlocale.h: No such file or directory #include <xlocale.h> ^~~~~~~~~~~ compilation terminated. Makefile:56: recipe for target 'service_internal.o' failed make[2]: *** [service_internal.o] Error 1
follow-up: 8 comment:6 by , 6 years ago
Just a note for ZOO developers.
In case you want to try building zoo in Ubuntu 18.04, use the following to add the missing libmozjs dependency:
sudo add-apt-repository ppa:gcpp-kalxas/osgeolive
sudo apt-get update
sudo apt-get install libmozjs185-dev
comment:7 by , 6 years ago
Many thanks for such a useful work for the ZOO-Project which will help us to fix this not only in the version you try to build but also the upcoming ones.
From what I can read from the links you have sent: "it was a strict subset of the standard header locale.h" so it should be worth to try replacing xlocale.h by locale.h in both service_internal.h and response_print.h.
I don't know if it is allowed, but it case it is, a simple sed "s:xlocale.h:local.h:g" -i {service_internal.h,response_print.h
} before running make should solve the issue.
comment:8 by , 6 years ago
Thanks a lot for having provided this package, it will help people to build the ZOO-Kernel on newer Ubuntu distribution.
I still think that it will require that we upgrade the JavaScript support to the latest version of the libmozjs available.
follow-up: 11 comment:10 by , 6 years ago
make[2]: Leaving directory '/<<BUILDDIR>>/zoo-project-1.6.0~rc2+ds/thirds/cgic206' make[2]: Entering directory '/<<BUILDDIR>>/zoo-project-1.6.0~rc2+ds/thirds/cgic206' rm -f libcgic.a ar rc libcgic.a cgic.o ranlib libcgic.a make[2]: Leaving directory '/<<BUILDDIR>>/zoo-project-1.6.0~rc2+ds/thirds/cgic206' make[2]: Entering directory '/<<BUILDDIR>>/zoo-project-1.6.0~rc2+ds/thirds/cgic206' gcc capture.o -o capture -L./ -lcgic /usr/lib/x86_64-linux-gnu/libfcgi.a make[2]: Leaving directory '/<<BUILDDIR>>/zoo-project-1.6.0~rc2+ds/thirds/cgic206' make[2]: Entering directory '/<<BUILDDIR>>/zoo-project-1.6.0~rc2+ds/thirds/cgic206' gcc cgictest.o -o cgictest.cgi -L./ -lcgic /usr/lib/x86_64-linux-gnu/libfcgi.a make[2]: Leaving directory '/<<BUILDDIR>>/zoo-project-1.6.0~rc2+ds/thirds/cgic206' dh_auto_build --sourcedirectory=zoo-project/zoo-kernel \ --builddirectory=zoo-project/zoo-kernel \ --max-parallel=1 cd zoo-project/zoo-kernel && make -j1 make[2]: Entering directory '/<<BUILDDIR>>/zoo-project-1.6.0~rc2+ds/zoo-project/zoo-kernel' echo "#define ZOO_VERSION \"`dpkg-parsechangelog -l ../../debian/changelog | sed -ne 's/^Version: \(.*\)-.*/\1/p' | sed -e 's/.*+svn//; s/+ds[0-9]*//; s/^[0-9]://'`\"" > version.h echo "#define ETC_DIR \"/etc/zoo-project\"" >> version.h echo "#define LOCALEDIR \"/usr/share/locale\"" >> version.h gcc -I/usr/include/gdal -DUSE_JS -I/usr/include/js/ -I/usr/include/libxml2 -g -O2 -fdebug-prefix-map=/<<BUILDDIR>>/zoo-project-1.6.0~rc2+ds/zoo-project/zoo-kernel=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -DDEB -fpic -I/usr//include -I/usr/include -DUSE_MS -I/usr/include/mapserver -I../../thirds/cgic206 -I. -DLINUX_FREE_ISSUE -fPIC -c service_internal.c In file included from service_internal_ms.h:28:0, from service_internal.c:27: service_internal.h:84:10: fatal error: local.h: No such file or directory #include <local.h> ^~~~~~~~~ compilation terminated.
comment:11 by , 6 years ago
Sorry, in my previous message local.h
should be read locale.h
.
It should solve the issue.
follow-up: 13 comment:12 by , 6 years ago
new build:
In file included from /usr/include/c++/7/cmath:42:0, from /usr/include/c++/7/math.h:36, from /usr/include/python2.7/pyport.h:325, from /usr/include/python2.7/Python.h:61, from service_internal_python.h:32, from service_internal_python.c:25: /usr/include/c++/7/bits/cpp_type_traits.h:205:12: error: redefinition of ‘struct std::__is_integer<int>’ struct __is_integer<int> ^~~~~~~~~~~~~~~~~ /usr/include/c++/7/bits/cpp_type_traits.h:138:12: note: previous definition of ‘struct std::__is_integer<int>’ struct __is_integer<bool> ^~~~~~~~~~~~~~~~~~
comment:13 by , 6 years ago
I guess this is due to a redefinition of bool from ulinet.h
.
Can you please try to put the content from line 47 (http://www.zoo-project.org/trac/browser/branches/prototype-v0/zoo-project/zoo-kernel/ulinet.h#L47) to 53 into a #ifndef __cplusplus
block?
comment:14 by , 6 years ago
I sucessfully built rel-6.0.0 using beta4 and the patch available here.
by , 6 years ago
Attachment: | osgeolive-services.patch added |
---|
For building CGAL services, use the following patch from zoo-services.
comment:17 by , 6 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
libmozjs-1.8.5 is missing from Ubuntu Bionic, last time available in Ubuntu Artful:
https://packages.ubuntu.com/search?suite=all&arch=any&searchon=names&keywords=libmozjs