Date: Fri, 25 Feb 2011 10:48:13 +0300 From: Anonymous <swell.k@gmail.com> To: Gabor Kovesdan <gabor@FreeBSD.org> Cc: freebsd-current@freebsd.org, freebsd-i18n@FreeBSD.org Subject: Re: HEADSUP: BSD iconv coming to the base system with default off Message-ID: <86wrko5zcy.fsf_-_@gmail.com> In-Reply-To: <4D66DE70.9000100@kovesdan.org> References: <4C16C5B5.1070308@FreeBSD.org> <867hlzq4lb.fsf@gmail.com> <867hlzufl6.fsf@gmail.com> <4C1A7A57.3000006@FreeBSD.org> <86bpb9z77g.fsf@gmail.com> <4C2F7917.7040900@FreeBSD.org> <86pqz29sy2.fsf@gmail.com> <86mxu4sj0n.fsf@gmail.com> <4C35EF85.6010905@FreeBSD.org> <86lj8ot09d.fsf@gmail.com> <4C6A6D0B.4010908@FreeBSD.org> <4D66DE70.9000100@kovesdan.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Anonymous <swell.k@gmail.com> writes in "[CFT] BSDL iconv in base system":
> I guess gettext hanging is due to ABI incompatibility, too.
>
> $ cat foo.po
> msgid ""
> msgstr ""
> "Content-Type: text/plain; charset=3DUTF-8\n"
> "Content-Transfer-Encoding: 8bit\n"
>
> msgid "don=E2=80=99t"
> msgstr "do not"
>
> $ msgmerge foo.po /dev/null # GNU iconv
> . done.
> msgid ""
> msgstr ""
> "Content-Type: text/plain; charset=3DUTF-8\n"
> "Content-Transfer-Encoding: 8bit\n"
>
> #~ msgid "don=E2=80=99t"
> #~ msgstr "do not"
>
> $ msgmerge foo.po /dev/null # BSD iconv
> . done.
> msgid ""
> load: 0.10 cmd: msgmerge 65132 [runnable] 2.74r 2.72u 0.00s 23% 2844k
> ^C
> (gdb) bt
> #0 _citrus_iconv_none_iconv_convert (ci=3D0x80f00f190, in=3D0x7fffffff=
0b40, inbytes=3D0x7fffffff0b40, out=3D0x7fffffff0b48, outbytes=3D0x7fffffff=
0b50, flags=3D0,
> invalids=3D0x7fffffff0aa0) at /usr/src/lib/libiconv_modules/iconv_n=
one/citrus_iconv_none.c:119
> len =3D 1
> e2big =3D 0
> #1 0x00000008064b9142 in _citrus_iconv_convert (cv=3D0x80f00f190, in=
=3D0x7fffffff0b38, inbytes=3D0x7fffffff0b40, out=3D0x7fffffff0b48, outbytes=
=3D0x7fffffff0b50,
> flags=3D0, nresults=3D0x7fffffff0aa0) at citrus_iconv.h:60
> No locals.
> #2 0x00000008064b90b2 in libiconv (handle=3D0x80f00f190, in=3D0x7fffff=
ff0b38, szin=3D0x7fffffff0b40, out=3D0x7fffffff0b48, szout=3D0x7fffffff0b50)
> at /usr/src/lib/libc/iconv/iconv.c:147
> ret =3D 0
> err =3D 0
> #3 0x00000008036db20a in wrap (mp=3D0x80f020400, stream=3D0x80f0123c0,=
line_prefix=3D0x0, extra_indent=3D0, css_class=3D0x80370a2f0 "msgstr",
> name=3D0x80370a3a9 "msgstr", value=3D0x80f01f0b0 "Content-Type: tex=
t/plain; charset=3DUTF-8\nContent-Transfer-Encoding: 8bit\n", do_wrap=3Dund=
ecided,
> page_width=3D79, charset=3D0x7fffffff0d80 "UTF-8") at write-po.c:724
> #4 0x00000008036dcbdd in message_print (mp=3D0x80f020400, stream=3D0x8=
0f0123c0, charset=3D0x7fffffff0d80 "UTF-8", page_width=3D79, blank_line=3Df=
alse, debug=3Dfalse)
> at write-po.c:1283
> #5 0x00000008036dd736 in msgdomain_list_print_po (mdlp=3D0x80f0071c0, =
stream=3D0x80f0123c0, page_width=3D79, debug=3Dfalse) at write-po.c:1511
> #6 0x00000008036d8859 in msgdomain_list_print (mdlp=3D0x80f0071c0, fil=
ename=3D0x80370a0a6 "standard output", output_syntax=3D0x40d7b0, force=3Dfa=
lse, debug=3Dfalse)
> at write-catalog.c:246
> #7 0x0000000000403604 in main (argc=3D3, argv=3D0x7fffffff0ff0) at msg=
merge.c:463
Above test still hangs as of r219023M with similar trace.
Should I file a PR or bsdiconv isn't supposed to work in such a way?
>
> It's a bit tweaked version, though.
>
> %%
> Index: devel/gettext/Makefile
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> RCS file: /a/.cvsup/ports/devel/gettext/Makefile,v
> retrieving revision 1.87
> diff -u -p -r1.87 Makefile
> --- devel/gettext/Makefile 3 Jun 2010 09:46:38 -0000 1.87
> +++ devel/gettext/Makefile 23 Aug 2010 10:04:26 -0000
> @@ -28,7 +28,7 @@ CONFIGURE_ENV=3D ACLOCAL=3D"${TRUE}" \
> AUTOHEADER=3D"${TRUE}" \
> MAKEINFO=3D"makeinfo --no-split" \
> CPPFLAGS=3D"-I${LOCALBASE}/include" \
> - LDFLAGS=3D"-L${LOCALBASE}/lib" \
> + LDFLAGS=3D"-L${LOCALBASE}/lib -liconv" \
> EMACS=3D"no"
> CONFIGURE_ARGS=3D --disable-csharp --disable-threads --disable-openmp \
> --with-included-gettext --with-included-glib \
> @@ -65,6 +65,8 @@ pre-extract:
> .endif
>=20=20
> post-patch:
> + @${REINPLACE_CMD} 's/-DENABLE_RELOCATABLE=3D1//' \
> + ${WRKSRC}/gettext-runtime/intl/Makefile.in
> @${FIND} ${WRKSRC} -name configure -print | ${XARGS} \
> ${REINPLACE_CMD} -e 's|mkdir gmkdir|mkdir|'
> .if defined (NOPORTDOCS)
> %%
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?86wrko5zcy.fsf_-_>
