[gdal-dev] Potential bug with the create function for the "GTiff" driver

Frank Warmerdam warmerdam at pobox.com
Thu Jul 9 11:16:07 EDT 2009


Adeel Raza wrote:
> Hi Frank,
> 
> To answer your questions:
> 
> -    " I presume you inspected the member values in the visual studio
>    debugging environment?  I suspect you have some sort of versioning
>    mixup - perhaps you have compiled your mainline using a different
>    version of the include files than correctly apply to the DLL you
>    end up invoking. "
> Yes I did inspect the member values in the visual studio debugging 
> environment. I'm not exactly sure what you mean by the second line, but 
> if you mean that my DLL has been compiled from a different version of 
> GDAL than from my import library than that is incorrect. I compiled both 
> the import library and the DLL using the gdal 1.6.1 source code and I 
> set the MSVC_VER variable to 1500 in the "nmake.opt" file so that the 
> "nmake /f makefile.vc" file would compile the library for the MSVC9.0.

Adeel,

I was suggesting any number of possible mixups though this is
unlikely to be the case if you have one and only one version
of GDAL on your system.

> -   " Alternatively, the debugger is getting confused
>    due to different structure packing options being used in your
>    main project compared to what was used in building GDAL itself.  "
> I have no idea what the structure packing options for GDAL or my project 
> are or how to find out what they are? Any pointers in this area would be 
> useful.

I'm no expert on how visual studio handles such things.

> -   "Is the created TIFF correct (if you close it)?"
> No. I used GDALClose() to close the .tif file and then I opened it using 
> GDALOpen() and most of the data members retained their original values 
> except the following data members which changed to the indicated values:
> nBands = 19036392;
> bShared = 19076432;

Please, inspect the resulting file with gdalinfo.  I assume
the visual studio reports on GDAL objects will be wrong regardless
of closing and opening files.

In general I have learned to be suspicious of debugging environments
ability to accurately report the contents of variables, and objects.
Particularly when they are really "owned" by another compilation unit
- such as coming from a DLL.  I have had bad experiences with visual
studio and gdb/dbx on unix.

Best regards,
-- 
---------------------------------------+--------------------------------------
I set the clouds in motion - turn up   | Frank Warmerdam, warmerdam at pobox.com
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush    | Geospatial Programmer for Rent



More information about the gdal-dev mailing list