[OE-core] Libpng 1.6.x is broken, switch back to 1.5.x before release?
Burton, Ross
ross.burton at intel.com
Tue Apr 16 09:34:00 UTC 2013
Hi,
On 16 April 2013 10:06, Koen Kooi <koen at dominion.thruhere.net> wrote:
> I've been looking into the libpng problems people have been reporting (e.g. #4060) and tried to upgrade 1.16.1 to fix those. Long story short, 1.16.1 doesn't fix them. I'm currently using weston as a testbed and was able to narrow the problems with weston down to:
>
> cairo_surface_t *surface = cairo_image_surface_create_from_png(icon);
>
> with ends up as:
>
> ERROR loading icon from file '/usr/share/icons/gnome/24x24/apps/utilities-terminal.png', error: 'out of memory'
I just spoke to Chris Wilson about this. libpng 1.6 is throwing more
warnings to the caller, often about invalid PNG extensions that are
being ignored apparently, and cairo-png is being over-zealous (his
words) in handling the warnings, by turning them into errors.
static void
png_simple_warning_callback (png_structp png,
png_const_charp error_msg)
{
cairo_status_t *error = png_get_error_ptr (png);
/* default to the most likely error */
if (*error == CAIRO_STATUS_SUCCESS)
*error = _cairo_error (CAIRO_STATUS_NO_MEMORY);
/* png does not expect to abort and will try to tidy up after a warning */
}
The warnings are just warnings and libpng will continue to load the
images. Sending a patch once this git clone has finished.
Ross
More information about the Openembedded-core
mailing list