Christopher,

CPLFindFile() calls CPLFinderInit() which issues CPLGetConfigOption( "GDAL_DATA", nullptr). But CPLFinderInit() runs once per-thread. So a potential theory for what you observe would be that something runs CPLFindFile() before you call CPLSetConfigOption("GDAL_DATA", ...). Setting breakpoint on CPLFinderInit and CPLSetConfigOption should confirm if this is what actually happens

Even

Le 24/08/2021 à 23:17, Christopher Corbell a écrit :
I'm tracking down a bug with WFS data import in our app and it seems like the cause is a call to CPLFindFile returning NULL, looking for a gmlasconf.xml file that should be in the gdal share directory.

This is a Mac universal binary app that embeds GDAL as a dylib and also includes the share files, so we use CPLSetConfigOption("GDAL_DATA", ...) to configure the CPL. So we don't rely on any absolute install/build paths or on the end-user installing their own GDAL. This worked previously but we recently updated to GDAL 3.3.1.

The WFS import fails when CPLFindFile returns NULL on attempt to read that config file, but the bug does not occur on my workstation, where this copy of GDAL was built. It turns out this is because CPLFindFile will return the original location of the GDAL build/install share directory (which still exists on my system).

Can anyone offer a theory why CPLFindFile might ignore the gdal data path and only look in the absolute install path set when GDAL was built? Here's some debugger output showing how these functions point to two different directories at runtime:

(lldb) po (const char*) CPLGetConfigOption("GDAL_DATA")
"/Users/ccorbell/Development/working/ccorbell_27x_MBP/IP 
Source/Plug-ins/Common/Data/GIS/gdal/"

(lldb) po (const char*) CPLFindFile("gdal", "gmlasconf.xml")
"/Users/ccorbell/Development/working/ccorbell_27x_MBP/AppSource/ThirdPartySource/GDAL/config/gdal-3.3.1-x86_64/share/gdal/gmlasconf.xml"

Thanks,
Christopher

_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/gdal-dev

--
http://www.spatialys.com
My software is free, but my time generally not.

_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/gdal-dev

Reply via email to