Skip to contentSkip to conversation

package/gd: fix build when libiconv is enabled

PATCH New Bernd Kuhls 2 participants 3 messages Nov 29, 2014 – Nov 30, 2014

lore
Share & tools
lore
#0 lore raw

PATCH 1/2 package/gd: fix build when libiconv is enabled

First of two patches to fix
http://autobuild.buildroot.net/results/238/2386edb7f95920e84a35811a33f4333ee0a7a860/

gd links against libiconv if it is already built, depend on libiconv to get reproducable builds.

readelf output without libiconv present:

$ output/host/opt/ext-toolchain/bfin-linux-uclibc/bin/bfin-linux-uclibc-readelf \
  -a output/staging/usr/lib/libgd.a | grep iconv
    15: 00000000    12 FUNC    GLOBAL HIDDEN     1 _iconv_open
    16: 0000000c    12 FUNC    GLOBAL HIDDEN     1 _iconv
    17: 00000018    12 FUNC    GLOBAL HIDDEN     1 _iconv_close

readelf output with libiconv present:

$ output/host/opt/ext-toolchain/bfin-linux-uclibc/bin/bfin-linux-uclibc-readelf \
  -a output/staging/usr/lib/libgd.a | grep iconv
000000e4  0000100a R_BFIN_PCREL24    00000000   _libiconv_open + 0
00000140  0000140a R_BFIN_PCREL24    00000000   _libiconv + 0
0000019a  0000160a R_BFIN_PCREL24    00000000   _libiconv_close + 0
    16: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND _libiconv_open
    20: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND _libiconv
    22: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND _libiconv_close
---
 package/gd/gd.mk |    4 ++++
 1 file changed, 4 insertions(+)
package/gd/gd.mk +4 -0
index 1613464..50737e5 100644
@@ -33,6 +33,10 @@ else
 GD_CONF_OPTS += --without-freetype
 endif
 
+ifeq ($(BR2_PACKAGE_LIBICONV),y)
+GD_DEPENDENCIES += libiconv
+endif
+
 ifeq ($(BR2_PACKAGE_JPEG),y)
 GD_DEPENDENCIES += jpeg
 GD_CONF_OPTS += --with-jpeg
Signature · 1 line
1.7.10.4
#1 lore raw

PATCH 2/2 package/gnuplot: fix static linking with libiconv

Second of two patches to fix
http://autobuild.buildroot.net/results/238/2386edb7f95920e84a35811a33f4333ee0a7a860/
http://autobuild.buildroot.net/results/57e/57ef313d3bd3da2b3e13f7fadb91006eb3f03a17/
http://autobuild.buildroot.net/results/a45/a45048a9b93d36aac0f5dd493f669a2dbd545744/
http://autobuild.buildroot.net/results/b6e/b6ee5d8f30601e37cb786eb7732c05117894851f/
http://autobuild.buildroot.net/results/7f3/7f392abeb7a058c9263c107b1640356e2583987a/
http://autobuild.buildroot.net/results/8d8/8d8cb2f2d5946f5342b96bb0ec4a3c9ffce88024/

---
 package/gnuplot/gnuplot.mk |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
package/gnuplot/gnuplot.mk +2 -1
index 238da68..45e33eb 100644
@@ -26,8 +26,9 @@ GNUPLOT_CONF_OPTS = --without-x \
 
 ifeq ($(BR2_PACKAGE_GD)$(BR2_PACKAGE_LIBPNG),yy)
 GNUPLOT_CONF_OPTS += --with-gd
-GNUPLOT_DEPENDENCIES += gd
+GNUPLOT_DEPENDENCIES += gd $(if $(BR2_PACKAGE_LIBICONV),libiconv)
 GNUPLOT_CONF_ENV += \
+	$(if $(BR2_PACKAGE_LIBICONV),LIBS="-liconv") \
 	ac_cv_path_GDLIB_CONFIG=$(STAGING_DIR)/usr/bin/gdlib-config
 else
 GNUPLOT_CONF_OPTS += --without-gd
Signature · 1 line
1.7.10.4
#2 lore raw

PATCH 1/2 package/gd: fix build when libiconv is enabled

In reply to Bernd Kuhls
Quoted 35 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Bernd" == Bernd Kuhls <[email protected]> writes:

First of two patches to fix
http://autobuild.buildroot.net/results/238/2386edb7f95920e84a35811a33f4333ee0a7a860/

gd links against libiconv if it is already built, depend on libiconv to get reproducable builds.

readelf output without libiconv present:

$ output/host/opt/ext-toolchain/bfin-linux-uclibc/bin/bfin-linux-uclibc-readelf \
  -a output/staging/usr/lib/libgd.a | grep iconv
    15: 00000000    12 FUNC    GLOBAL HIDDEN     1 _iconv_open
    16: 0000000c    12 FUNC    GLOBAL HIDDEN     1 _iconv
    17: 00000018    12 FUNC    GLOBAL HIDDEN     1 _iconv_close

readelf output with libiconv present:

$ output/host/opt/ext-toolchain/bfin-linux-uclibc/bin/bfin-linux-uclibc-readelf \
  -a output/staging/usr/lib/libgd.a | grep iconv
000000e4  0000100a R_BFIN_PCREL24    00000000   _libiconv_open + 0
00000140  0000140a R_BFIN_PCREL24    00000000   _libiconv + 0
0000019a  0000160a R_BFIN_PCREL24    00000000   _libiconv_close + 0
    16: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND _libiconv_open
    20: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND _libiconv
    22: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND _libiconv_close
---
 package/gd/gd.mk |    4 ++++
 1 file changed, 4 insertions(+)
package/gd/gd.mk +0 -0
index 1613464..50737e5 100644

package/gd/gd.mk else · line 37

Quoted 5 lines
package/gd/gd.mk +2 -0
@@ -33,6 +33,10 @@ else
 GD_CONF_OPTS += --without-freetype
 endif
 
+ifeq ($(BR2_PACKAGE_LIBICONV),y)
+GD_DEPENDENCIES += libiconv

If we also add GD_CONF_ENV += LIBS="-liconv" then -liconv gets added to the gdlib-config --libs output, and we don't need change anything in gnuplot.mk (or any other packages using gdlib-config).

So committed with that change (and the gnuplot change dropped), thanks.

Signature · 1 line
Bye, Peter Korsgaard