In a gettext build on Solaris 8, I'm seeing 5 test failures: FAIL: test-mbrtowc4.sh FAIL: test-mbsrtowcs4.sh FAIL: test-mbsstr3.sh FAIL: test-setlocale1.sh FAIL: test-wcrtomb.sh
The reason for these failures is that when LC_ALL is set to zh_CN.GB18030, the test programs (which are libtool wrapper scripts which invoke the real programs) misbehave. In particular they fail to set LD_LIBRARY_PATH, leading to errors like ld.so.1: test-setlocale1: fatal: libgettextlib-0.18.1.so: open failed: No such file or directory Narrowing it down: the following command dumps core. $ LC_ALL=zh_CN.GB18030 bash -c true And gdb shows a crash inside a shared library for GB18030. Most likely related to the Solaris 8 bug that we already test for in m4/mbrtowc.m4. The fix is to avoid using that broken locale on Solaris 8. 2011-06-13 Bruno Haible <br...@clisp.org> locale-zh: Reject zh_CN.GB18030 locale on Solaris 8. * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to 'none'. --- m4/locale-zh.m4.orig Mon Jun 13 20:04:02 2011 +++ m4/locale-zh.m4 Mon Jun 13 18:33:47 2011 @@ -1,4 +1,4 @@ -# locale-zh.m4 serial 8 +# locale-zh.m4 serial 9 dnl Copyright (C) 2003, 2005-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -93,6 +93,12 @@ gt_cv_locale_zh_CN=none fi ;; + solaris2.8) + # On Solaris 8, the locales zh_CN.GB18030, zh_CN.GBK, zh.GBK are + # broken. One witness is the test case in gl_MBRTOWC_SANITYCHECK. + # Another witness is that "LC_ALL=zh_CN.GB18030 bash -c true" dumps core. + gt_cv_locale_zh_CN=none + ;; *) # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the -- In memoriam Anna Göldi <http://en.wikipedia.org/wiki/Anna_Göldi>