Opened 6 years ago

Closed 6 years ago

#4994 closed defect (fixed)

libgeotiff SetCSVFilenameHook

Reported by: warmerdam Owned by: warmerdam
Priority: normal Milestone: 1.10.0
Component: GDAL_Raster Version: unspecified
Severity: normal Keywords: libgeotiff csv
Cc:

Description

The GTiffOneTimeInit() function in gdal/frmts/gtiff/geotiff.cpp calls SetCSVFilenameHook() in an attempt to installed the GDAL CSV finder as the default CSV finder for libgeotiff. However, because geotiff.cpp includes cpl_csv.h we end up calling the GDAL version of this function, instead of the libgeotiff one (often named gtCSVSetFilenameHook() after include file #define renaming).

This means that libgeotiff csv lookups end up *not* finding things in the GDAL csv directory and coordinate system lookup fails if the libgeotiff csv files are not installed or are unfindable.

Change History (7)

comment:1 Changed 6 years ago by warmerdam

Resolution: fixed
Status: newclosed

Fixed in trunk (r25651). Might be appropriate to backport to 1.9 branch.

comment:2 Changed 6 years ago by Even Rouault

Resolution: fixed
Status: closedreopened

trunk doesn't build : https://travis-ci.org/OSGeo/gdal/builds/4822632

2713 /home/travis/build/OSGeo/gdal/gdal/libgdal.so: undefined reference to `LibgeotiffOneTimeInit'
2714 clang: error: linker command failed with exit code 1 (use -v to see invocation)
2715 make[1]: *** [gdalinfo] Error 1

comment:3 Changed 6 years ago by warmerdam

Resolution: fixed
Status: reopenedclosed

Ahem. Missing component added in trunk (r25652).

comment:4 Changed 6 years ago by warmerdam

And some more, including support in mrsid which calls libgeotiff functions directly and via the mrsid SDK itself (r25653).

comment:5 Changed 6 years ago by Even Rouault

r25654 frmts/gtiff/gtiff.h frmts/gtiff/geotiff.cpp frmts/gtiff/gt_wkt_srs.cpp -m "GTiff: add cleanup of LibgeotiffOneTimeInit?'s mutex (#4994)"

comment:6 Changed 6 years ago by Even Rouault

Resolution: fixed
Status: closedreopened

Frank, apparently this causes build failures for the MrSID plugin on Windows : see http://www.gisinternals.com/sdk/build-output/vc7-20130216-4-11-11-22-vc7-dev.txt

mrsiddataset.obj : error LNK2019: unresolved external symbol _LibgeotiffOneTimeInit referenced in function "private: void __thiscall MrSIDDataset::GetGTIFDefn(void)" (?GetGTIFDefn@MrSIDDataset@@AAEXXZ)
gdal_MrSID.dll : fatal error LNK1120: 1 unresolved externals

Perhaps a CPL_DLL missing ?

comment:7 Changed 6 years ago by warmerdam

Resolution: fixed
Status: reopenedclosed

Hopefully fixed (r25659).

Note: See TracTickets for help on using tickets.