Hello,
I’ve problems getting gdal 1.x or gdal 2.2.x with Geoserver 2.12.0 (War-Archive) to succesfully load a ENVIHdr raster file.
The EnviHDR Store is displayed in the “Add new stores” page, but trying to add a raster file it displays the error:
* Could not list layers for this store, an error occurred retrieving them: The Provided input is not supported by this reader
Using macOS 10.11.6 / JAVA SDK 1.8.0_144 / Tried with Tomcat 8.0.47 & Tomcat 8.5.23 / Geoserver 2.12.0 / Tried with gdal 1.15 from Homebrew and gdal-2.2.2
If I do check the status page, the gdal module is succesfully loaded:
http://localhost:8080/geoserver/rest/about/status
• Module name: ImageI/O-Ext GDAL Coverage Extension
• Module : gs-gdal
• Component : GridCoverage2DReader
• Version : 1.1.18
• Enabled : true
• Available : true
• Message : JNI GDAL Wrapper Version: INF/lib/gdal
GDAL Version: 1.11.5
GDAL Release Date: 20160701
GDAL Build Info: PAM_ENABLED=YES
OGR_ENABLED=YES
Checking “catalina.2017-10-18.log” (daily log) file it seems that the gdal native lib is loaded:
18-Oct-2017 16:52:25.302 INFO [localhost-startStop-1] it.geosolutions.imageio.gdalframework.GDALUtilities.loadGDAL GDAL Native Library loaded (version: 1.11.5)
However checking “catalina.out”, I get the following error when pushing the “Save” button from the "Add Raster Data Source / EnviHDR page:
Caused by: java.lang.RuntimeException: The Provided input is not supported by this reader
at it.geosolutions.imageio.gdalframework.GDALImageReader.setInput(GDALImageReader.java:764)
at javax.imageio.ImageReader.setInput(ImageReader.java:380)
at org.geotools.coverageio.BaseGridCoverage2DReader.(BaseGridCoverage2DReader.java:173)
at org.geotools.coverageio.gdal.BaseGDALGridCoverage2DReader.(BaseGDALGridCoverage2DReader.java:84)
at org.geotools.coverageio.gdal.envihdr.EnviHdrReader.(EnviHdrReader.java:68)
at org.geotools.coverageio.gdal.envihdr.EnviHdrFormat.getReader(EnviHdrFormat.java:75)
at org.geotools.coverageio.gdal.envihdr.EnviHdrFormat.getReader(EnviHdrFormat.java:37)
at org.geoserver.catalog.ResourcePool.getGridCoverageReader(ResourcePool.java:1506)
at org.geoserver.catalog.ResourcePool.getGridCoverageReader(ResourcePool.java:1452)
at org.geoserver.catalog.impl.CoverageStoreInfoImpl.getGridCoverageReader(CoverageStoreInfoImpl.java:59)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.geoserver.catalog.impl.ModificationProxy.invoke(ModificationProxy.java:147)
at com.sun.proxy.$Proxy24.getGridCoverageReader(Unknown Source)
at org.geoserver.web.data.layer.NewLayerPageProvider.getItemsInternal(NewLayerPageProvider.java:95)
Tomcat’s setenv.sh contains even the lib path for gdal:
export JAVA_OPTS=“-Djava.library.path=/usr/local/Cellar/gdal/1.11.5_3/lib/”
The “gdal.jar” java-binding from the “Homebrew package manager” was copied in geoserver/WEB-INF/lib along with the files from “gdal 2.12.0 extension”
I even compiled gdal 2.2.2 with java support by myself, with the usual setup (gdal.jar binding etc.) but still same problem…
In fact when it worked back then with geoserver 2.11.2 I wrote myself a tutorial on how to install gdal with geoserver on macOS, see here:
http://www.ecgs.lu/gilles/enabling-gdal-java-binding-for-geoserver-on-macos/
However it doesn’t even work with geoserver 2.11.2 anymore…
Any clues ?
Regards,
Gilles Celli