Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Failed tests of zsh 4.3.5 in Solaris 10 w/Sun Studio 12 CC



Hi Peter,

Am 26.02.2008 um 15:57 schrieb Peter Stephenson:
On Tue, 26 Feb 2008 15:42:19 +0100
Dagobert Michelsen <dam@xxxxxxxxxxxxx> wrote:
first, thanks for the effort. I have applied the patch
and reran the testsuite.
./A03quoting.ztst: starting.
Test ./A03quoting.ztst failed: bad status 1, expected 0 from:
   print '<\u0041>'
   printf '%s\n' $'<\u0042>'
   print '<\u0043>'
   printf '%s\n' $'<\u0044>'
Error output:
(eval):1: cannot do charset conversion (iconv failed)
Was testing: \u in both print and printf

Weird... that's the variant I wasn't expecting since it implies
a run time failure in iconv, and not a dynamical link failure, either.
That means this call failed (Src/utils.c:4878 in the current source):

    	    	    cd = iconv_open(nl_langinfo(CODESET), "UCS-4BE");
		    if (cd == (iconv_t)-1) {
			zerr("cannot do charset conversion (iconv failed)");
			CHARSET_FAILED();
		    }

Any idea if your iconv supports UCS-4BE?  GNU iconv will tell you with
"iconv --list", but if you have a Solaris variant it's likely to be
different.  Otherwise, could nl_langinfo(CODESET) not be returning
anything?

In fact I am linking against libiconv from Blastwave.org at
/opt/csw/lib. However, the charset seems to be supported:

thor% /opt/csw/bin/iconv -l | grep UCS-4BE
UCS-4BE

The system trace looks like this:

16896:  sigprocmask(SIG_BLOCK, 0x080464E4, 0x080464C0)  = 0
16896:  sigprocmask(SIG_BLOCK, 0x080460B4, 0x08046090)  = 0
16896:  -> libiconv:libiconv_open(0xdf986e04, 0x80c1e90)

...and...

thor% mdb -p 16896
Loading modules: [ ]
> 0xdf986e04/S
0xdf986e04:     646
> 0x80c1e90/S
0x80c1e90:      UCS-4BE

Looks like there is no 646:

thor% /opt/csw/bin/iconv -l | grep 646
ANSI_X3.4-1968 ANSI_X3.4-1986 ASCII CP367 IBM367 ISO-IR-6 ISO646-US ISO_646.IRV:1991 US US-ASCII CSASCII
ISO-10646-UCS-2 UCS-2 CSUNICODE
ISO-10646-UCS-4 UCS-4 CSUCS4
ISO-IR-14 ISO646-JP JIS_C6220-1969-RO JP CSISO14JISC6220RO
CN GB_1988-80 ISO-IR-57 ISO646-CN CSISO57GB1988

Is this an error from zsh or is this a bug in libiconv?


Thanks!

  -- Dago



Messages sorted by: Reverse Date, Date, Thread, Author