[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#735847: freeimage: builds wrong tiff, broken 32 bit



Package: freeimage
Version: 3.15.4
Severity: serious

the recent update to .4 updates the internal tiff to libtiff4 but does
not update the debian patch
debian/patches/disable_embedded_libraries.patch appropriately.
This leads to some internals using the libtiff internals instead of the
libtiff4
This breaks e.g. the skimage tests with a expected segfault due to
complete data structure corruption.

Additionally LibTIFF4/tiffconf.h is configured for 32 bit and will most
likely break on 32 bit:

/* Signed 64-bit type */
#ifdef _MSC_VER
#define TIFF_INT64_T signed __int64
#else
#define TIFF_INT64_T signed long
#endif // _MSC_VER

...

long is 32 bit on 32 bit arches. it needs to be int64_t or long long.
This occurs several times in the file.


Fixing all this still lets the skimage tests fail:

FAIL: test_freeimage.test_metadata
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/usr/lib/python2.7/dist-packages/numpy/testing/decorators.py",
line 146, in skipper_func
    return f(*args, **kwargs)
  File "/tmp/buildd/skimage-0.9.3/skimage/io/tests/test_freeimage.py",
line 104, in test_metadata
    assert meta[1][('EXIF_MAIN', 'Software')].startswith('ImageMagick')
AssertionError:


it truncates the tag to just 'I'

I'm not sure if that what the reason for that could be.


Reply to: