* [Buildroot] [PATCH v1] libsvg: fix undefined symbol png_set_gray_1_2_4_to_8
@ 2015-03-05 21:01 Peter Seiderer
2015-03-05 22:05 ` Thomas Petazzoni
0 siblings, 1 reply; 3+ messages in thread
From: Peter Seiderer @ 2015-03-05 21:01 UTC (permalink / raw)
To: buildroot
Fixes the following runtime error e.g. from df_texture:
(!) Direct/Interface: Unable to dlopen `/usr/lib/directfb-1.6-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_svg.so'!
--> /usr/lib/libsvg.so.1: undefined symbol: png_set_gray_1_2_4_to_8
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
...-undefined-symbol-png_set_gray_1_2_4_to_8.patch | 32 ++++++++++++++++++++++
1 file changed, 32 insertions(+)
create mode 100644 package/libsvg/0002-Fix-undefined-symbol-png_set_gray_1_2_4_to_8.patch
diff --git a/package/libsvg/0002-Fix-undefined-symbol-png_set_gray_1_2_4_to_8.patch b/package/libsvg/0002-Fix-undefined-symbol-png_set_gray_1_2_4_to_8.patch
new file mode 100644
index 0000000..d0bbeab
--- /dev/null
+++ b/package/libsvg/0002-Fix-undefined-symbol-png_set_gray_1_2_4_to_8.patch
@@ -0,0 +1,32 @@
+From 213e5749947fad08d985eda8d06839efedda78ef Mon Sep 17 00:00:00 2001
+From: Peter Seiderer <ps.report@gmx.net>
+Date: Thu, 5 Mar 2015 21:42:52 +0100
+Subject: [PATCH] Fix undefined symbol png_set_gray_1_2_4_to_8
+
+Since libpng-1.4.0 the function png_set_gray_1_2_4_to_8() was
+removed, the replacement function is called
+png_set_expand_gray_1_2_4_to_8() (see [1]).
+
+[1] http://libpng.sourceforge.net/ANNOUNCE-1.4.0.txt
+
+Signed-off-by: Peter Seiderer <ps.report@gmx.net>
+---
+ src/svg_image.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/svg_image.c b/src/svg_image.c
+index cd8a95a..f256943 100755
+--- a/src/svg_image.c
++++ b/src/svg_image.c
+@@ -271,7 +271,7 @@ _svg_image_read_png (const char *filename,
+
+ /* expand gray bit depth if needed */
+ if (color_type == PNG_COLOR_TYPE_GRAY && depth < 8)
+- png_set_gray_1_2_4_to_8 (png);
++ png_set_expand_gray_1_2_4_to_8 (png);
+
+ /* transform transparency to alpha */
+ if (png_get_valid(png, info, PNG_INFO_tRNS))
+--
+2.1.4
+
--
2.1.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [Buildroot] [PATCH v1] libsvg: fix undefined symbol png_set_gray_1_2_4_to_8
2015-03-05 21:01 [Buildroot] [PATCH v1] libsvg: fix undefined symbol png_set_gray_1_2_4_to_8 Peter Seiderer
@ 2015-03-05 22:05 ` Thomas Petazzoni
2015-03-05 22:22 ` Peter Seiderer
0 siblings, 1 reply; 3+ messages in thread
From: Thomas Petazzoni @ 2015-03-05 22:05 UTC (permalink / raw)
To: buildroot
Dear Peter Seiderer,
On Thu, 5 Mar 2015 22:01:05 +0100, Peter Seiderer wrote:
> Fixes the following runtime error e.g. from df_texture:
>
> (!) Direct/Interface: Unable to dlopen `/usr/lib/directfb-1.6-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_svg.so'!
> --> /usr/lib/libsvg.so.1: undefined symbol: png_set_gray_1_2_4_to_8
>
> Signed-off-by: Peter Seiderer <ps.report@gmx.net>
> ---
> ...-undefined-symbol-png_set_gray_1_2_4_to_8.patch | 32 ++++++++++++++++++++++
> 1 file changed, 32 insertions(+)
> create mode 100644 package/libsvg/0002-Fix-undefined-symbol-png_set_gray_1_2_4_to_8.patch
Thanks, I've applied your patch. However:
1/ libsvg is still severely broken. It uses symbols from libpng and
libjpeg, but it doesn't link against those libraries. The output of
'readelf -d' on libsvg says:
0x00000001 (NEEDED) Shared library: [libxml2.so.2]
0x00000001 (NEEDED) Shared library: [libc.so.0]
0x0000000e (SONAME) Library soname: [libsvg.so.1]
This means that if you try to compile an application with just
'-lsvg', it doesn't build because the shared library doesn't
express its dependency on other libraries. This is wrong.
The configure.in script also doesn't check for the presence of
libjpeg and libpng. Bad.
2/ Isn't libsvg abandoned? Latest release in 2005. Same for
libsvg-cairo. DirectFB is apparently the only remaining user of
this library. Is the latest version of DirectFB still using
libsvg-cairo ?
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Buildroot] [PATCH v1] libsvg: fix undefined symbol png_set_gray_1_2_4_to_8
2015-03-05 22:05 ` Thomas Petazzoni
@ 2015-03-05 22:22 ` Peter Seiderer
0 siblings, 0 replies; 3+ messages in thread
From: Peter Seiderer @ 2015-03-05 22:22 UTC (permalink / raw)
To: buildroot
Hello Thomas,
> Gesendet: Donnerstag, 05. M?rz 2015 um 23:05 Uhr
> Von: "Thomas Petazzoni" <thomas.petazzoni@free-electrons.com>
> An: "Peter Seiderer" <ps.report@gmx.net>
> Cc: buildroot at busybox.net
> Betreff: Re: [Buildroot] [PATCH v1] libsvg: fix undefined symbol png_set_gray_1_2_4_to_8
>
> Dear Peter Seiderer,
>
> On Thu, 5 Mar 2015 22:01:05 +0100, Peter Seiderer wrote:
> > Fixes the following runtime error e.g. from df_texture:
> >
> > (!) Direct/Interface: Unable to dlopen `/usr/lib/directfb-1.6-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_svg.so'!
> > --> /usr/lib/libsvg.so.1: undefined symbol: png_set_gray_1_2_4_to_8
> >
> > Signed-off-by: Peter Seiderer <ps.report@gmx.net>
> > ---
> > ...-undefined-symbol-png_set_gray_1_2_4_to_8.patch | 32 ++++++++++++++++++++++
> > 1 file changed, 32 insertions(+)
> > create mode 100644 package/libsvg/0002-Fix-undefined-symbol-png_set_gray_1_2_4_to_8.patch
>
> Thanks, I've applied your patch. However:
>
> 1/ libsvg is still severely broken. It uses symbols from libpng and
> libjpeg, but it doesn't link against those libraries. The output of
> 'readelf -d' on libsvg says:
>
> 0x00000001 (NEEDED) Shared library: [libxml2.so.2]
> 0x00000001 (NEEDED) Shared library: [libc.so.0]
> 0x0000000e (SONAME) Library soname: [libsvg.so.1]
>
> This means that if you try to compile an application with just
> '-lsvg', it doesn't build because the shared library doesn't
> express its dependency on other libraries. This is wrong.
>
> The configure.in script also doesn't check for the presence of
> libjpeg and libpng. Bad.
>
Not good...
> 2/ Isn't libsvg abandoned? Latest release in 2005. Same for
> libsvg-cairo. DirectFB is apparently the only remaining user of
> this library. Is the latest version of DirectFB still using
> libsvg-cairo ?
>
Yes, no changes regarding to this in DirectFB-1.7.7...
Regards,
Peter
> Best regards,
>
> Thomas
> --
> Thomas Petazzoni, CTO, Free Electrons
> Embedded Linux, Kernel and Android engineering
> http://free-electrons.com
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-03-05 22:22 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-03-05 21:01 [Buildroot] [PATCH v1] libsvg: fix undefined symbol png_set_gray_1_2_4_to_8 Peter Seiderer
2015-03-05 22:05 ` Thomas Petazzoni
2015-03-05 22:22 ` Peter Seiderer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox