libpng needs update on x86_64
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
libpng (Ubuntu) |
Confirmed
|
Low
|
Unassigned |
Bug Description
Libpng needs to be updated to a later version than version 1.2 on x86_64. The reason is that version 1.2 assumes sizeof(unsigned long int)==4, which is not true on Linux x86_64
Message from GCC:
error: cannot convert 'uint32_t* {aka unsigned int*}' to 'png_uint_32* {aka long unsigned int*}' for argument '3' to 'png_uint_32 png_get_
, &res_x, &res_y,&unit);
In version 1.6 (I use that version when compiling on windows)
#if INT_MIN < -2147483646 && INT_MAX > 2147483646
typedef int png_int_32;
#elif LONG_MIN < -2147483646 && LONG_MAX > 2147483646
typedef long int png_int_32;
#else
# error "libpng requires a signed 32 bit (or more) type"
#endif
#if UINT_MAX > 4294967294
typedef unsigned int png_uint_32;
#elif ULONG_MAX > 4294967294
typedef unsigned long int png_uint_32;
#else
# error "libpng requires an unsigned 32 bit (or more) type"
#endif
Clearly, this bug is fixed in version 1.6.
I could install my own libpng, but since this is a very central library I feel that it could be risky and I do not have time to recompile the hole system just for an old library. Suggestion: Fix this for version 14.10 (it strange that a newer libpng did not enter 14.04 LTS)
affects: | ubuntu-system-settings (Ubuntu) → libpng (Ubuntu) |
that's the version in Debian as well, https:/ /packages. qa.debian. org/libp/ libpng. html