Discussion:
[Geoserver-users] GeoServer 2.11.1 and GDAL
Corey Westrick
2017-06-19 15:20:19 UTC
Permalink
I am trying to use the GDAL extension with GeoServer. I installed GeoServer
2.11.1 and the GDAL extension. I also followed the instructions to download
the GDAL native libraries and add them to the PATH environment variable.
I'm using Windows 7 and Java 8u121 64-bit.

After installing the extension, GeoServer fails to start. Here is the
exception stack trace.

2017-06-19 10:03:05.908:WARN:oejuc.AbstractLifeCycle:main: FAILED
***@5b464ce8{/geoserver,file:/C:/dev/geoserver/tmp/geoserver-2.11.1/webapps/geoserver/,STARTING}{C:\dev\geoserver\tmp\geoserver-2.11.1\webapps\geoserver}:
java.util.ServiceConfigurationError: javax.imageio.spi.ImageWriterSpi:
Provider
it.geosolutions.imageio.plugins.jp2kakadu.JP2GDALKakaduImageWriterSpi could
not be instantiated
java.util.ServiceConfigurationError: javax.imageio.spi.ImageWriterSpi:
Provider
it.geosolutions.imageio.plugins.jp2kakadu.JP2GDALKakaduImageWriterSpi could
not be instantiated
at java.util.ServiceLoader.fail(ServiceLoader.java:232)
at java.util.ServiceLoader.access$100(ServiceLoader.java:185)
at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:384)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
at
javax.imageio.spi.IIORegistry.registerApplicationClasspathSpis(IIORegistry.java:210)
at javax.imageio.spi.IIORegistry.<init>(IIORegistry.java:138)
at javax.imageio.spi.IIORegistry.getDefaultInstance(IIORegistry.java:159)
at javax.imageio.ImageIO.<clinit>(ImageIO.java:66)
at
org.geoserver.GeoserverInitStartupListener.contextInitialized(GeoserverInitStartupListener.java:185)
...
Caused by:
java.lang.NoClassDefFoundError: org/gdal/gdal/gdal
at
it.geosolutions.imageio.gdalframework.GDALUtilities.loadGDAL(GDALUtilities.java:624)
at
it.geosolutions.imageio.gdalframework.GDALImageWriterSpi.<clinit>(GDALImageWriterSpi.java:34)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
at
javax.imageio.spi.IIORegistry.registerApplicationClasspathSpis(IIORegistry.java:210)
at javax.imageio.spi.IIORegistry.<init>(IIORegistry.java:138)
at javax.imageio.spi.IIORegistry.getDefaultInstance(IIORegistry.java:159)
at javax.imageio.ImageIO.<clinit>(ImageIO.java:66)
at
org.geoserver.GeoserverInitStartupListener.contextInitialized(GeoserverInitStartupListener.java:185)

It looked like a missing jar, so I downloaded imageio-ext-1.1.17-jars.zip
and copied imageio-ext-gdal-bindings-1.9.2.jar to
webapps/geoserver/WEB-INF/lib.This fixes the error and I can use the GDAL
extension in GeoServer.

Is this a bug in the GDAL extension packaging and should
imageio-ext-gdal-bindings-1.9.2.jar be added
to geoserver-2.11.1-gdal-plugin.zip?

Thanks,
Corey
Daniele Romagnoli
2017-06-19 16:02:39 UTC
Permalink
Hi Corey,

That's not a bug, actually. That step is documented in the Guide indeed
(the line right before the red warning box):
http://docs.geoserver.org/latest/en/user/data/raster/gdal.html#installing-gdal-native-libraries

However, it's a change occurred in the last year. Before that, the binding
jar was part of the zip archive.
There was a conflict with another plugin so it has been removed as part of
https://osgeo-org.atlassian.net/browse/GEOS-7578

@Torben
I'm wondering if we should restore the old binding as part of the zip
archive since Corey is at least the 4th or 5th user falling in this issue.
At the end, the GeoServer GDAL zip is part of a supported extension whilst
the gt-ogr-jni store is a geotools plugin being activated with a profile (I
didn't checked so deeply so I might be wrong). In that case, we can update
the gt-ogr-jni documentation reporting notes on the potential conflict with
the old binding.

What do you think about it?
Please, let us know.
Post by Corey Westrick
I am trying to use the GDAL extension with GeoServer. I installed
GeoServer 2.11.1 and the GDAL extension. I also followed the instructions
to download the GDAL native libraries and add them to the PATH environment
variable. I'm using Windows 7 and Java 8u121 64-bit.
After installing the extension, GeoServer fails to start. Here is the
exception stack trace.
2017-06-19 10:03:05.908:WARN:oejuc.AbstractLifeCycle:main: FAILED
geoserver/tmp/geoserver-2.11.1/webapps/geoserver/,STARTING}
javax.imageio.spi.ImageWriterSpi: Provider it.geosolutions.imageio.
plugins.jp2kakadu.JP2GDALKakaduImageWriterSpi could not be instantiated
Provider it.geosolutions.imageio.plugins.jp2kakadu.JP2GDALKakaduImageWriterSpi
could not be instantiated
at java.util.ServiceLoader.fail(ServiceLoader.java:232)
at java.util.ServiceLoader.access$100(ServiceLoader.java:185)
at java.util.ServiceLoader$LazyIterator.nextService(
ServiceLoader.java:384)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
at javax.imageio.spi.IIORegistry.registerApplicationClasspathSp
is(IIORegistry.java:210)
at javax.imageio.spi.IIORegistry.<init>(IIORegistry.java:138)
at javax.imageio.spi.IIORegistry.getDefaultInstance(IIORegistry.java:159)
at javax.imageio.ImageIO.<clinit>(ImageIO.java:66)
at org.geoserver.GeoserverInitStartupListener.contextInitialized(
GeoserverInitStartupListener.java:185)
...
java.lang.NoClassDefFoundError: org/gdal/gdal/gdal
at it.geosolutions.imageio.gdalframework.GDALUtilities.
loadGDAL(GDALUtilities.java:624)
at it.geosolutions.imageio.gdalframework.GDALImageWriterSpi.<clinit>(
GDALImageWriterSpi.java:34)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(
NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(
DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at java.util.ServiceLoader$LazyIterator.nextService(
ServiceLoader.java:380)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
at javax.imageio.spi.IIORegistry.registerApplicationClasspathSp
is(IIORegistry.java:210)
at javax.imageio.spi.IIORegistry.<init>(IIORegistry.java:138)
at javax.imageio.spi.IIORegistry.getDefaultInstance(IIORegistry.java:159)
at javax.imageio.ImageIO.<clinit>(ImageIO.java:66)
at org.geoserver.GeoserverInitStartupListener.contextInitialized(
GeoserverInitStartupListener.java:185)
It looked like a missing jar, so I downloaded imageio-ext-1.1.17-jars.zip
and copied imageio-ext-gdal-bindings-1.9.2.jar to
webapps/geoserver/WEB-INF/lib.This fixes the error and I can use the GDAL
extension in GeoServer.
Is this a bug in the GDAL extension packaging and should
imageio-ext-gdal-bindings-1.9.2.jar be added to geoserver-2.11.1-gdal-
plugin.zip?
Thanks,
Corey
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Geoserver-users mailing list
https://lists.sourceforge.net/lists/listinfo/geoserver-users
--
Regards,
Daniele Romagnoli
==
GeoServer Professional Services from the experts! Visit http://goo.gl/it488V
for more information.
==

Ing. Daniele Romagnoli
Senior Software Engineer

GeoSolutions S.A.S.
Via di Montramito 3/A
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

-------------------------------------------------------
AVVERTENZE AI SENSI DEL D.Lgs. 196/2003
Le informazioni contenute in questo messaggio di posta elettronica e/o
nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il
loro utilizzo Ú consentito esclusivamente al destinatario del messaggio,
per le finalità indicate nel messaggio stesso. Qualora riceviate questo
messaggio senza esserne il destinatario, Vi preghiamo cortesemente di
darcene notizia via e-mail e di procedere alla distruzione del messaggio
stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso,
divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od
utilizzarlo per finalità diverse, costituisce comportamento contrario ai
principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for
the attention and use of the named addressee(s) and may be confidential or
proprietary in nature or covered by the provisions of privacy act
(Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection
Code).Any use not in accord with its purpose, any disclosure, reproduction,
copying, distribution, or either dissemination, either whole or partial, is
strictly forbidden except previous formal approval of the named
addressee(s). If you are not the intended recipient, please contact
immediately the sender by telephone, fax or e-mail and delete the
information in this message that has been received in error. The sender
does not give any warranty or accept liability as the content, accuracy or
completeness of sent messages and accepts no responsibility for changes
made after they were sent or for other risks which arise as a result of
e-mail transmission, viruses, etc.
Corey Westrick
2017-06-19 20:55:03 UTC
Permalink
Daniele,

I see the step now. I completely missed it when I was originally doing the
installation.

Thanks,
Corey

On Mon, Jun 19, 2017 at 12:02 PM, Daniele Romagnoli <
Post by Daniele Romagnoli
Hi Corey,
That's not a bug, actually. That step is documented in the Guide indeed
http://docs.geoserver.org/latest/en/user/data/raster/
gdal.html#installing-gdal-native-libraries
However, it's a change occurred in the last year. Before that, the binding
jar was part of the zip archive.
There was a conflict with another plugin so it has been removed as part of
https://osgeo-org.atlassian.net/browse/GEOS-7578
@Torben
I'm wondering if we should restore the old binding as part of the zip
archive since Corey is at least the 4th or 5th user falling in this issue.
At the end, the GeoServer GDAL zip is part of a supported extension whilst
the gt-ogr-jni store is a geotools plugin being activated with a profile (I
didn't checked so deeply so I might be wrong). In that case, we can update
the gt-ogr-jni documentation reporting notes on the potential conflict with
the old binding.
What do you think about it?
Please, let us know.
Post by Corey Westrick
I am trying to use the GDAL extension with GeoServer. I installed
GeoServer 2.11.1 and the GDAL extension. I also followed the instructions
to download the GDAL native libraries and add them to the PATH environment
variable. I'm using Windows 7 and Java 8u121 64-bit.
After installing the extension, GeoServer fails to start. Here is the
exception stack trace.
2017-06-19 10:03:05.908:WARN:oejuc.AbstractLifeCycle:main: FAILED
rver/tmp/geoserver-2.11.1/webapps/geoserver/,STARTING}{
Provider it.geosolutions.imageio.plugins.jp2kakadu.JP2GDALKakaduImageWriterSpi
could not be instantiated
Provider it.geosolutions.imageio.plugins.jp2kakadu.JP2GDALKakaduImageWriterSpi
could not be instantiated
at java.util.ServiceLoader.fail(ServiceLoader.java:232)
at java.util.ServiceLoader.access$100(ServiceLoader.java:185)
at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoad
er.java:384)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
at javax.imageio.spi.IIORegistry.registerApplicationClasspathSp
is(IIORegistry.java:210)
at javax.imageio.spi.IIORegistry.<init>(IIORegistry.java:138)
at javax.imageio.spi.IIORegistry.getDefaultInstance(IIORegistry.java:159)
at javax.imageio.ImageIO.<clinit>(ImageIO.java:66)
at org.geoserver.GeoserverInitStartupListener.contextInitialize
d(GeoserverInitStartupListener.java:185)
...
java.lang.NoClassDefFoundError: org/gdal/gdal/gdal
at it.geosolutions.imageio.gdalframework.GDALUtilities.loadGDAL
(GDALUtilities.java:624)
at it.geosolutions.imageio.gdalframework.GDALImageWriterSpi.<
clinit>(GDALImageWriterSpi.java:34)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Native
ConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(De
legatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoad
er.java:380)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
at javax.imageio.spi.IIORegistry.registerApplicationClasspathSp
is(IIORegistry.java:210)
at javax.imageio.spi.IIORegistry.<init>(IIORegistry.java:138)
at javax.imageio.spi.IIORegistry.getDefaultInstance(IIORegistry.java:159)
at javax.imageio.ImageIO.<clinit>(ImageIO.java:66)
at org.geoserver.GeoserverInitStartupListener.contextInitialize
d(GeoserverInitStartupListener.java:185)
It looked like a missing jar, so I downloaded imageio-ext-1.1.17-jars.zip
and copied imageio-ext-gdal-bindings-1.9.2.jar to
webapps/geoserver/WEB-INF/lib.This fixes the error and I can use the
GDAL extension in GeoServer.
Is this a bug in the GDAL extension packaging and should
imageio-ext-gdal-bindings-1.9.2.jar be added
to geoserver-2.11.1-gdal-plugin.zip?
Thanks,
Corey
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Geoserver-users mailing list
https://lists.sourceforge.net/lists/listinfo/geoserver-users
--
Regards,
Daniele Romagnoli
==
GeoServer Professional Services from the experts! Visit
http://goo.gl/it488V for more information.
==
Ing. Daniele Romagnoli
Senior Software Engineer
GeoSolutions S.A.S.
Via di Montramito 3/A
55054 Massarosa (LU)
Italy
phone: +39 0584 962313 <+39%200584%20962313>
fax: +39 0584 1660272 <+39%200584%20166%200272>
http://www.geo-solutions.it
http://twitter.com/geosolutions_it
-------------------------------------------------------
AVVERTENZE AI SENSI DEL D.Lgs. 196/2003
Le informazioni contenute in questo messaggio di posta elettronica e/o
nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il
loro utilizzo Ú consentito esclusivamente al destinatario del messaggio,
per le finalità indicate nel messaggio stesso. Qualora riceviate questo
messaggio senza esserne il destinatario, Vi preghiamo cortesemente di
darcene notizia via e-mail e di procedere alla distruzione del messaggio
stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso,
divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od
utilizzarlo per finalità diverse, costituisce comportamento contrario ai
principi dettati dal D.Lgs. 196/2003.
The information in this message and/or attachments, is intended solely for
the attention and use of the named addressee(s) and may be confidential or
proprietary in nature or covered by the provisions of privacy act
(Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection
Code).Any use not in accord with its purpose, any disclosure, reproduction,
copying, distribution, or either dissemination, either whole or partial, is
strictly forbidden except previous formal approval of the named
addressee(s). If you are not the intended recipient, please contact
immediately the sender by telephone, fax or e-mail and delete the
information in this message that has been received in error. The sender
does not give any warranty or accept liability as the content, accuracy or
completeness of sent messages and accepts no responsibility for changes
made after they were sent or for other risks which arise as a result of
e-mail transmission, viruses, etc.
Loading...