Package: uni2ascii Version: 4.14-3 Severity: normal Tags: patch Hello,
uni2ascii FTBFS in Ubuntu maverick with the following error: ,----[ http://launchpadlibrarian.net/49745563/buildlog_ubuntu-maverick-i386.uni2ascii_4.14-3_FAILEDTOBUILD.txt.gz ]- | if i686-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I. -DNEWSUMMARY -g -O2 -MT enttbl.o -MD -MP -MF ".deps/enttbl.Tpo" -c -o enttbl.o enttbl.c; \ | then mv -f ".deps/enttbl.Tpo" ".deps/enttbl.Po"; else rm -f ".deps/enttbl.Tpo"; exit 1; fi | In file included from //usr/include/stdlib.h:43, | from enttbl.c:22: | //usr/include/bits/waitstatus.h:80: error: duplicate member '__w_retcode' | //usr/include/bits/waitstatus.h:80: error: duplicate member '({anonymous})' | //usr/include/bits/waitstatus.h:80: error: duplicate member '({anonymous})' | //usr/include/bits/waitstatus.h:81: error: duplicate member '__w_coredump' | //usr/include/bits/waitstatus.h:81: error: duplicate member '({anonymous})' | //usr/include/bits/waitstatus.h:81: error: duplicate member '({anonymous})' | //usr/include/bits/waitstatus.h:81: error: duplicate member '({anonymous})' | //usr/include/bits/waitstatus.h:82: error: duplicate member '__w_termsig' | //usr/include/bits/waitstatus.h:82: error: duplicate member '({anonymous})' | //usr/include/bits/waitstatus.h:82: error: duplicate member '({anonymous})' | //usr/include/bits/waitstatus.h:82: error: duplicate member '({anonymous})' | //usr/include/bits/waitstatus.h:82: error: duplicate member '({anonymous})' | //usr/include/bits/waitstatus.h:94: error: duplicate member '__w_stopsig' | //usr/include/bits/waitstatus.h:94: error: duplicate member '({anonymous})' | //usr/include/bits/waitstatus.h:94: error: duplicate member '({anonymous})' | //usr/include/bits/waitstatus.h:95: error: duplicate member '__w_stopval' | //usr/include/bits/waitstatus.h:95: error: duplicate member '({anonymous})' | //usr/include/bits/waitstatus.h:95: error: duplicate member '({anonymous})' | //usr/include/bits/waitstatus.h:95: error: duplicate member '({anonymous})' | make[2]: *** [enttbl.o] Error 1 `---- The problem is that upstream code contains an endian.h and the source code is compiled with -I. This combination causes that including stdlib.h pulls the wrong endian.h (the local one and not the system one) leading to the above error as the guarding #if constants aren't defined anymore. A solution is to rename the local endian.h so the correct header is included again. The attached patch renames endian.h to myendian.h. Michael
Subject: rename endian.h to myendian.h to not conflict anymore with the system endian.h From: Michael Bienia <[email protected]> Index: uni2ascii-4.14/Makefile.am =================================================================== --- uni2ascii-4.14.orig/Makefile.am 2010-08-29 23:39:46.000000000 +0200 +++ uni2ascii-4.14/Makefile.am 2010-08-29 23:39:53.000000000 +0200 @@ -3,7 +3,7 @@ dist_man_MANS = uni2ascii.1 ascii2uni.1 uni2ascii_SOURCES = endian.c enttbl.c SetFormat.c uni2ascii.c UTF8in.c putu8.c ascii2uni_SOURCES = ascii2uni.c enttbl.c GetWord.c putu8.c SetFormat.c -noinst_HEADERS = endian.h enttbl.h exitcode.h formats.h unicode.h utf8error.h +noinst_HEADERS = myendian.h enttbl.h exitcode.h formats.h unicode.h utf8error.h AM_CFLAGS = if NEWSUMMARY AM_CFLAGS += -DNEWSUMMARY Index: uni2ascii-4.14/Makefile.in =================================================================== --- uni2ascii-4.14.orig/Makefile.in 2010-08-29 23:39:55.000000000 +0200 +++ uni2ascii-4.14/Makefile.in 2010-08-29 23:40:03.000000000 +0200 @@ -174,7 +174,7 @@ dist_man_MANS = uni2ascii.1 ascii2uni.1 uni2ascii_SOURCES = endian.c enttbl.c SetFormat.c uni2ascii.c UTF8in.c putu8.c ascii2uni_SOURCES = ascii2uni.c enttbl.c GetWord.c putu8.c SetFormat.c -noinst_HEADERS = endian.h enttbl.h exitcode.h formats.h unicode.h utf8error.h +noinst_HEADERS = myendian.h enttbl.h exitcode.h formats.h unicode.h utf8error.h AM_CFLAGS = $(am__append_1) $(am__append_2) AUTOMAKE_OPTIONS = dist-zip dist-bzip2 EXTRA_DIST = TestSuiteAscii2Uni CREDITS uni2html.py ascii2uni.py u2a.tcl uni2ascii.info uni2ascii-${VERSION}.lsm Index: uni2ascii-4.14/endian.c =================================================================== --- uni2ascii-4.14.orig/endian.c 2010-08-29 23:39:04.000000000 +0200 +++ uni2ascii-4.14/endian.c 2010-08-29 23:39:18.000000000 +0200 @@ -17,7 +17,7 @@ * or go to the web page: http://www.gnu.org/licenses/gpl.txt. */ -#include "endian.h" +#include "myendian.h" /* Returns a value indicating the endianness of the machine */ Index: uni2ascii-4.14/endian.h =================================================================== --- uni2ascii-4.14.orig/endian.h 2010-08-29 23:38:28.000000000 +0200 +++ /dev/null 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ -#ifndef GET_ENDIAN -extern short Get_Endianness(void); -#endif -#define GET_ENDIAN - -/* Constants defining endian-ness values */ - -#define E_LITTLE_ENDIAN 0 -#define E_BIG_ENDIAN 1 -#define E_PDP_ENDIAN 2 -#define E_UNKNOWN_ENDIAN 3 Index: uni2ascii-4.14/myendian.h =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ uni2ascii-4.14/myendian.h 2009-08-05 05:08:52.000000000 +0200 @@ -0,0 +1,11 @@ +#ifndef GET_ENDIAN +extern short Get_Endianness(void); +#endif +#define GET_ENDIAN + +/* Constants defining endian-ness values */ + +#define E_LITTLE_ENDIAN 0 +#define E_BIG_ENDIAN 1 +#define E_PDP_ENDIAN 2 +#define E_UNKNOWN_ENDIAN 3 Index: uni2ascii-4.14/uni2ascii.c =================================================================== --- uni2ascii-4.14.orig/uni2ascii.c 2010-08-29 23:39:27.000000000 +0200 +++ uni2ascii-4.14/uni2ascii.c 2010-08-29 23:39:38.000000000 +0200 @@ -40,7 +40,7 @@ #endif #include "unicode.h" #include "enttbl.h" -#include "endian.h" +#include "myendian.h" #include "utf8error.h" #include "exitcode.h" #include "formats.h"

