Bug 801961

Summary: gdal uses bundled g2clib
Product: [Fedora] Fedora Reporter: Orion Poplawski <orion>
Component: gdalAssignee: Devrim Gündüz <devrim>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: unspecified    
Version: rawhideCC: alex, cristian.balint, devrim, mmahut, pavel.lisy, pertusus, sven, vijivijayakumar, volker27
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: gdal-1.9.0-2 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-05-21 15:22:46 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
Patch to spec file for system g2clib usage
none
gdal-g2clib.patch
none
Local gdal g2clib differences none

Description Orion Poplawski 2012-03-09 23:45:46 UTC
Created attachment 569015 [details]
Patch to spec file for system g2clib usage

Description of problem:

gdal uses a somewhat modified local version of g2clib for grib support.  I've made some initial attempts at using the system version of g2clib (which has required some modifications to it as well).  I'm not there yet, but this is what I have so far.

Comment 1 Orion Poplawski 2012-03-09 23:46:49 UTC
Created attachment 569016 [details]
gdal-g2clib.patch

Patches the build to not compile local g2clib code.

Comment 2 Orion Poplawski 2012-03-09 23:48:18 UTC
Created attachment 569017 [details]
Local gdal g2clib differences

These appear to be the differences in the local g2clib from (hopefully) a stock g2clib 1.0.4

Comment 3 Orion Poplawski 2012-03-09 23:51:27 UTC
These warning appear to be new with using the system g2clib and need to get checked out:

> degrib18/degrib/degrib1.cpp:1392:10: warning: variable 'f_octet14' set but not used [-Wunused-but-set-variable]
> degrib18/degrib/grib2api.c:1100:30: warning: passing argument 4 of 'TransferInt' from incompatible pointer type [enabled by default]
> degrib18/degrib/grib2api.c:1105:30: warning: passing argument 4 of 'TransferInt' from incompatible pointer type [enabled by default]
> degrib18/degrib/grib2api.c:1112:32: warning: passing argument 4 of 'TransferFloat' from incompatible pointer type [enabled by default]
> degrib18/degrib/grib2api.c:1117:32: warning: passing argument 4 of 'TransferFloat' from incompatible pointer type [enabled by default]
> degrib18/degrib/grib2api.c:1862:4: warning: passing argument 2 of 'g2_create' from incompatible pointer type [enabled by default]
> degrib18/degrib/grib2api.c:1862:4: warning: passing argument 3 of 'g2_create' from incompatible pointer type [enabled by default]
> degrib18/degrib/grib2api.c:1873:4: warning: passing argument 2 of 'g2_addgrid' from incompatible pointer type [enabled by default]
> degrib18/degrib/grib2api.c:1873:4: warning: passing argument 3 of 'g2_addgrid' from incompatible pointer type [enabled by default]
> degrib18/degrib/grib2api.c:1873:4: warning: passing argument 4 of 'g2_addgrid' from incompatible pointer type [enabled by default]
> degrib18/degrib/grib2api.c:1881:29: warning: passing argument 11 of 'g2_addfield' from incompatible pointer type [enabled by default]
> degrib18/degrib/grib2api.c:1881:29: warning: passing argument 3 of 'g2_addfield' from incompatible pointer type [enabled by default]
> degrib18/degrib/grib2api.c:1881:29: warning: passing argument 7 of 'g2_addfield' from incompatible pointer type [enabled by default]
> degrib18/degrib/grib2api.c:788:7: warning: passing argument 2 of 'g2_info' from incompatible pointer type [enabled by default]
> degrib18/degrib/grib2api.c:788:7: warning: passing argument 3 of 'g2_info' from incompatible pointer type [enabled by default]
> degrib18/degrib/grib2api.c:788:7: warning: passing argument 4 of 'g2_info' from incompatible pointer type [enabled by default]
> degrib18/degrib/grib2api.c:788:7: warning: passing argument 5 of 'g2_info' from incompatible pointer type [enabled by default]

Comment 4 Volker Fröhlich 2012-03-14 18:25:14 UTC
Did you find out why they are using a modified version? Did you create an upstream ticket yet?

Comment 5 Orion Poplawski 2012-03-14 20:03:05 UTC
g2clib statically defines some structures in the header files.  This causes multiple symbol definitions.  If you look at the attachment "Local gdal g2clib differences" you can see what gdal did to avoid this.  I sent an email hopefully to the right place for g2clib to see if they will fix this.  I patched g2clib in rawhide in a way that achieves the same effect but preserves the API.  Probably need to wait for a response from the g2clib folks before filing a gdal ticket.  Also need to see what is up with the warnings - probably a 32/64-bit issue.