[CFT] BSDL iconv in base system
Anonymous
swell.k at gmail.com
Mon Aug 23 11:02:00 UTC 2010
Anonymous <swell.k at gmail.com> writes:
[...]
> BTW, running GNU iconv(1) with following in libmap.conf
>
> libiconv.so.3 libc.so.7
>
> produces
>
> $ gnu-iconv
> /libexec/ld-elf.so.1: Undefined symbol "_libiconv_version" referenced from COPY relocation in LOCALBASE/bin/iconv
I guess gettext hanging is due to ABI incompatibility, too.
$ cat foo.po
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "don’t"
msgstr "do not"
$ msgmerge foo.po /dev/null # GNU iconv
. done.
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#~ msgid "don’t"
#~ 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=0x80f00f190, in=0x7fffffff0b40, inbytes=0x7fffffff0b40, out=0x7fffffff0b48, outbytes=0x7fffffff0b50, flags=0,
invalids=0x7fffffff0aa0) at /usr/src/lib/libiconv_modules/iconv_none/citrus_iconv_none.c:119
len = 1
e2big = 0
#1 0x00000008064b9142 in _citrus_iconv_convert (cv=0x80f00f190, in=0x7fffffff0b38, inbytes=0x7fffffff0b40, out=0x7fffffff0b48, outbytes=0x7fffffff0b50,
flags=0, nresults=0x7fffffff0aa0) at citrus_iconv.h:60
No locals.
#2 0x00000008064b90b2 in libiconv (handle=0x80f00f190, in=0x7fffffff0b38, szin=0x7fffffff0b40, out=0x7fffffff0b48, szout=0x7fffffff0b50)
at /usr/src/lib/libc/iconv/iconv.c:147
ret = 0
err = 0
#3 0x00000008036db20a in wrap (mp=0x80f020400, stream=0x80f0123c0, line_prefix=0x0, extra_indent=0, css_class=0x80370a2f0 "msgstr",
name=0x80370a3a9 "msgstr", value=0x80f01f0b0 "Content-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\n", do_wrap=undecided,
page_width=79, charset=0x7fffffff0d80 "UTF-8") at write-po.c:724
#4 0x00000008036dcbdd in message_print (mp=0x80f020400, stream=0x80f0123c0, charset=0x7fffffff0d80 "UTF-8", page_width=79, blank_line=false, debug=false)
at write-po.c:1283
#5 0x00000008036dd736 in msgdomain_list_print_po (mdlp=0x80f0071c0, stream=0x80f0123c0, page_width=79, debug=false) at write-po.c:1511
#6 0x00000008036d8859 in msgdomain_list_print (mdlp=0x80f0071c0, filename=0x80370a0a6 "standard output", output_syntax=0x40d7b0, force=false, debug=false)
at write-catalog.c:246
#7 0x0000000000403604 in main (argc=3, argv=0x7fffffff0ff0) at msgmerge.c:463
It's a bit tweaked version, though.
%%
Index: devel/gettext/Makefile
===================================================================
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= ACLOCAL="${TRUE}" \
AUTOHEADER="${TRUE}" \
MAKEINFO="makeinfo --no-split" \
CPPFLAGS="-I${LOCALBASE}/include" \
- LDFLAGS="-L${LOCALBASE}/lib" \
+ LDFLAGS="-L${LOCALBASE}/lib -liconv" \
EMACS="no"
CONFIGURE_ARGS= --disable-csharp --disable-threads --disable-openmp \
--with-included-gettext --with-included-glib \
@@ -65,6 +65,8 @@ pre-extract:
.endif
post-patch:
+ @${REINPLACE_CMD} 's/-DENABLE_RELOCATABLE=1//' \
+ ${WRKSRC}/gettext-runtime/intl/Makefile.in
@${FIND} ${WRKSRC} -name configure -print | ${XARGS} \
${REINPLACE_CMD} -e 's|mkdir gmkdir|mkdir|'
.if defined (NOPORTDOCS)
%%
More information about the freebsd-current
mailing list