#52605: adwaita-icon-theme @3.22.0 fails building on 10.5.8 PPC ---------------------------------+---------------------- Reporter: braumann@… | Owner: devans@… Type: defect | Status: assigned Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: adwaita-icon-theme | ---------------------------------+---------------------- Comment (by devans@…): While you were testing, I looked into the `gtk-encode-symbolic-svg` code. This utility converts svg icon files to specially encoded png files that have many of the properties (color substitution, for example) as svg but with much less processing overhead. `gtk-encode-symbolic-svg` uses the following code to read the svg into an in-memory GdkPixbuf: {{{ loaded = load_symbolic_svg (file_data, file_len, width, height, &g, plane == 0 ? &r : &g, plane == 1 ? &r : &g, plane == 2 ? &r : &g, error); if (loaded == NULL) return NULL; }}} and `load_symbolic_svg` uses the following code to do the work {{{ stream = g_memory_input_stream_new_from_data (data, -1, g_free); pixbuf = gdk_pixbuf_new_from_stream_at_scale (stream, width, height, TRUE, NULL, error); }}} Error handling here is what I would call "minimum magnificent"! If gdk_pixbuf_new_from_stream_at_scale returns an error it is propagated upstream without checks to the main caller which then prints the message we're seeing if an error is set without check which error it is. Possible errors are those in the GDK_PIXBUF_ERROR domain {{{ GDK_PIXBUF_ERROR_CORRUPT_IMAGE An image file was broken somehow. GDK_PIXBUF_ERROR_INSUFFICIENT_MEMORY Not enough memory. GDK_PIXBUF_ERROR_BAD_OPTION A bad option was passed to a pixbuf save module. GDK_PIXBUF_ERROR_UNKNOWN_TYPE Unknown image type. GDK_PIXBUF_ERROR_UNSUPPORTED_OPERATION Don't know how to perform the given operation on the type of image at hand. GDK_PIXBUF_ERROR_FAILED Generic failure code, something went wrong. GDK_PIXBUF_ERROR_INCOMPLETE_ANIMATION Only part of the animation was loaded. }}} and in the G_IO_ERROR domain (too many to list here) but some sort of GIO stream error is a possibility. Lots of possibilities. Can you run `gtk-encode-symbolic-svg` under gdb with a breakpoint at `load_symbolic_svg` and step from there to see what error is really being returned? To do this sensibly, one would need to build at least gtk3 and gdk-pixbuf2 with debugging symbols enabled and without cleaning after the build so that the source code is still available for reference. You can do this using the following commands: {{{ sudo port -nsk upgrade --force gdk-pixbuf2 'configure.optflags='-g -O0' sudo port -nsk upgrade --force gtk3 'configure.optflags='-g -O0' }}} So the question is: what is what error is being returned by `load_symbolic_svg`? -- Ticket URL: <https://trac.macports.org/ticket/52605#comment:19> MacPorts <https://www.macports.org/> Ports system for the Mac operating system