On 01/10/13 09:19, Tom G. Christensen wrote: > > GNU gettext 0.18.2 does not build on Solaris 2.6 & 7 and ironically it is an > issue similar to what I'm seeing with gnulib that causes it to fail. > > From Solaris 2.6 build of gettext 0.18.2: > gcc -DHAVE_CONFIG_H -DEXEEXT=\"\" -I. -I.. -I../intl -I../intl > -DDEPENDS_ON_LIBICONV=1 -DDEPENDS_ON_LIBINTL=1 -D_REENTRANT -g -O2 -c -o > localename.o localename.c > In file included from ./locale.h:26, > from localename.c:33: > /usr/tgcware/gcc-4.3.6/lib/gcc/sparc-sun-solaris2.6/4.3.6/include-fixed/locale.h:63: > error: redefinition of 'struct rpl_lconv' > make[5]: *** [localename.o] Error 1 >
Thanks, can you please try the following patch? If it solves this problem, perhaps it'll also solve your other problem; at any rate I hope it makes some progress so that we can turn to whatever problem is next. >From 78fa262b57217575265948c07c116d4be957e14c Mon Sep 17 00:00:00 2001 From: Paul Eggert <egg...@cs.ucla.edu> Date: Thu, 10 Jan 2013 13:24:13 -0800 Subject: [PATCH] locale: port to Solaris 2.6 and 7 + GNU gettext * lib/locale.in.h: Just include_next <locale.h> when being invoked recursively. This prevents problems on Solaris 2.6 and 7 when combining the localename module with GNU gettext 0.18.2. Problem reported by Tom G. Christensen in <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00084.html>. --- ChangeLog | 9 +++++++++ lib/locale.in.h | 19 +++++++++++++++++-- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3b34c93..732fa03 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2013-01-10 Paul Eggert <egg...@cs.ucla.edu> + + locale: port to Solaris 2.6 and 7 + GNU gettext + * lib/locale.in.h: Just include_next <locale.h> when + being invoked recursively. This prevents problems on Solaris 2.6 and 7 + when combining the localename module with GNU gettext 0.18.2. + Problem reported by Tom G. Christensen in + <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00084.html>. + 2013-01-09 Paul Eggert <egg...@cs.ucla.edu> stdlib: port to Solaris 2.6 diff --git a/lib/locale.in.h b/lib/locale.in.h index 97926f0..264161a 100644 --- a/lib/locale.in.h +++ b/lib/locale.in.h @@ -14,16 +14,30 @@ You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef _@GUARD_PREFIX@_LOCALE_H - #if __GNUC__ >= 3 @PRAGMA_SYSTEM_HEADER@ #endif @PRAGMA_COLUMNS@ +#ifdef _GL_ALREADY_INCLUDING_LOCALE_H + +/* Special invocation conventions to handle Solaris header files + (through Solaris 10) when combined with gettext's libintl.h. */ + +#@INCLUDE_NEXT@ @NEXT_LOCALE_H@ + +#else +/* Normal invocation convention. */ + +#ifndef _@GUARD_PREFIX@_LOCALE_H + +#define _GL_ALREADY_INCLUDING_LOCALE_H + /* The include_next requires a split double-inclusion guard. */ #@INCLUDE_NEXT@ @NEXT_LOCALE_H@ +#undef _GL_ALREADY_INCLUDING_LOCALE_H + #ifndef _@GUARD_PREFIX@_LOCALE_H #define _@GUARD_PREFIX@_LOCALE_H @@ -198,4 +212,5 @@ _GL_WARN_ON_USE (duplocale, "duplocale is buggy on some glibc systems - " #endif #endif /* _@GUARD_PREFIX@_LOCALE_H */ +#endif /* ! _GL_ALREADY_INCLUDING_LOCALE_H */ #endif /* _@GUARD_PREFIX@_LOCALE_H */ -- 1.7.11.7