diff mbox

[1/1] package/fbterm: Fix building against libiconv

Message ID 20170128174916.11214-1-bernd.kuhls@t-online.de
State Accepted
Headers show

Commit Message

Bernd Kuhls Jan. 28, 2017, 5:49 p.m. UTC
Fixes
http://autobuild.buildroot.net/results/d5d/d5d9705eea16f07848a313d9c83f491569734c5d/

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
 package/fbterm/0004-iconv.patch | 41 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)
 create mode 100644 package/fbterm/0004-iconv.patch

Comments

Thomas Petazzoni Jan. 29, 2017, 1:26 p.m. UTC | #1
Hello,

On Sat, 28 Jan 2017 18:49:16 +0100, Bernd Kuhls wrote:
> Fixes
> http://autobuild.buildroot.net/results/d5d/d5d9705eea16f07848a313d9c83f491569734c5d/
> 
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
> ---
>  package/fbterm/0004-iconv.patch | 41 +++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 41 insertions(+)
>  create mode 100644 package/fbterm/0004-iconv.patch

Applied to master, thanks. However, this means that fbterm links
against libiconv when available, no? So perhaps we should have:

ifeq ($(BR2_PACKAGE_LIBICONV),y)
FBTERM_DEPENDENCIES += libiconv
endif

in fbterm.mk ?

Best regards,

Thomas
Bernd Kuhls Jan. 29, 2017, 2:37 p.m. UTC | #2
Am Sun, 29 Jan 2017 14:26:33 +0100 schrieb Thomas Petazzoni:

> Applied to master, thanks. However, this means that fbterm links against
> libiconv when available, no? So perhaps we should have:
> 
> ifeq ($(BR2_PACKAGE_LIBICONV),y)
> FBTERM_DEPENDENCIES += libiconv endif
> 
> in fbterm.mk ?

Hi,

I think this is not needed, because fbterm depends on BR2_ENABLE_LOCALE, 
while libiconv depends on !BR2_ENABLE_LOCALE. The build error occured 
while including iconv.h from uClibc.

Regards, Bernd
Thomas Petazzoni Jan. 29, 2017, 3:18 p.m. UTC | #3
Hello,

On Sun, 29 Jan 2017 15:37:33 +0100, Bernd Kuhls wrote:

> I think this is not needed, because fbterm depends on BR2_ENABLE_LOCALE, 
> while libiconv depends on !BR2_ENABLE_LOCALE. The build error occured 
> while including iconv.h from uClibc.

Indeed, makes sense. Thanks!

Thomas
diff mbox

Patch

diff --git a/package/fbterm/0004-iconv.patch b/package/fbterm/0004-iconv.patch
new file mode 100644
index 000000000..39c9182e4
--- /dev/null
+++ b/package/fbterm/0004-iconv.patch
@@ -0,0 +1,41 @@ 
+Fix building against libiconv
+
+Downloaded from
+https://github.com/kyak/openwrt-packages/blob/master/fbterm/patches/001-iconv.patch
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+
+--- a/src/lib/io.cpp
++++ b/src/lib/io.cpp
+@@ -119,10 +119,10 @@ void IoPipe::setCodec(const s8 *up, cons
+ 	if (!strcasecmp(up, down)) return;
+ 
+ 	mCodecRead = iconv_open(up, down);
+-	if (mCodecRead == (void*)-1) mCodecRead = 0;
++	if (mCodecRead == (iconv_t)(-1)) mCodecRead = 0;
+ 
+ 	mCodecWrite = iconv_open(down, up);
+-	if (mCodecWrite == (void*)-1) mCodecWrite = 0;
++	if (mCodecWrite == (iconv_t)(-1)) mCodecWrite = 0;
+ }
+ 
+ #define BUF_SIZE 10240
+--- a/src/lib/io.h
++++ b/src/lib/io.h
+@@ -23,6 +23,7 @@
+ 
+ #include "type.h"
+ #include "instance.h"
++#include <iconv.h>
+ 
+ class IoPipe {
+ public:
+@@ -47,7 +48,7 @@ private:
+ 	void writeIo(s8 *buf, u32 len);
+ 
+ 	s32 mFd;
+-	void *mCodecRead, *mCodecWrite;
++	iconv_t mCodecRead, mCodecWrite;
+ 	s8 mBufRead[16], mBufWrite[16];
+ 	u32 mBufLenRead, mBufLenWrite;
+ };