Opened 17 years ago

Closed 17 years ago

#1814 closed defect (fixed)

internal libtiff bug in 64bit built

Reported by: Even Rouault Owned by: warmerdam
Priority: normal Milestone: 1.5.0
Component: ConfigBuild Version: svn-trunk
Severity: normal Keywords: libtiff
Cc:

Description

On a 64bit GDAL build with internal libtiff support, GDALChecksumImage on the attached TIF gives 21227.

On a 64bit GDAL build with external libtiff support, GDALChecksumImage on the attached TIF gives 23035.

On a 32bit GDAL build with internal libtiff support, GDALChecksumImage on the attached TIF gives 23035.

Conclusion: there's something wrong with internal libtiff in 64bit.

Attachments (1)

frmt24.cit.tif (1.8 KB ) - added by Even Rouault 17 years ago.
TIF file content extracted from frmt24.cit from autotest

Download all attachments as: .zip

Change History (7)

by Even Rouault, 17 years ago

Attachment: frmt24.cit.tif added

TIF file content extracted from frmt24.cit from autotest

comment:1 by Even Rouault, 17 years ago

Component: defaultGDAL_Raster
Keywords: libtiff added
Version: unspecifiedsvn-trunk

comment:2 by Even Rouault, 17 years ago

Issue solved !

I've diff'd old tif_fax3.c and tif_fax3.c and there's this little interesting change : #ifdef SIZEOF_LONG == 8 --> #if SIZEOF_UNSIGNED_LONG == 8

and we don't test sizeof(unsigned long) in configure.in ....

comment:3 by Even Rouault, 17 years ago

Fix commited in r12122.

configure needs to be regenerated.

comment:4 by Even Rouault, 17 years ago

I'm wondering if it wouldn't be good to add something like the following lines in libtiff4 :

#ifndef SIZEOF_UNSIGNED_LONG #error "SIZEOF_UNSIGNED_LONG needs to be defined !" #endif

comment:5 by Even Rouault, 17 years ago

Component: GDAL_RasterConfigBuild

comment:6 by warmerdam, 17 years ago

Milestone: 1.5.0
Resolution: fixed
Status: newclosed

I have modified cpl_config.h.vc to also define this (as 4).

I have also sent an email to the libtiff list discussing options to make tif_fax3.c less fragile.

Thanks Even!

Note: See TracTickets for help on using tickets.