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"

Reply via email to