uClibc snapshot + gettext = some minor issues

Peter S. Mazinger ps.m at gmx.net
Tue Jun 6 07:14:33 UTC 2006


On Fri, 2 Jun 2006, Robb, Sam wrote:

> All,
> 
>   In compiling gettext and libiconv with uClibc (not svn, but a very
> recent snapshot), I noticed a few things with uClibc that struck me as
> odd.  Things like:
> 
>   - error_print_progname is declared in a header, but the exported
>     variable definition is commented out.

search the archives about this one

> 
>   I'm treating this as a bug in gettext, and patching around it... gettext
> doesn't doesn't even test for existence of error_print_progname in configure,
> it just assumes that the libc will provide it.  However, it seems as if the
> declaration should be removed, or the definition re-instated.
> 
>   - MB_CUR_MAX is apparently only defined if __UCLIBC_HAS_WCHAR__ is set.
> 
>   Reading susv3 (http://www.unix.org/version3/sample/basedefs/stdlib.h.html)
> it seems like this should always be available.  It looks as if there was some
> attempt to implement this that's been obsoleted.  Would it be appropriate to
> simply set MB_CUR_MAX to 1 (the default) is __UCLIBC_HAS_WCHAR__ is not set?

that would be probably correct, I had to do it in (GNU) fnmatch.c to get 
it build

>   - The uClibc include/bits/uClibc_arch_features.h (pulled in by features.h,
>     which is pulled in by just about everything) indiscriminately defines
>     internal_function, which causes some linking problems in gettext.

a redefine shouldn't cause a link failure

that header should not get installed on final target probably, it should 
be used only for uClibc build-time.
gettext should though do 
#ifndef internal_function
#define internal_function blah
#endif

as do all the other gnulib sources

> 
>   I'm willing to accept this as another gettext error - that package is a
> weird beast, in that it is primarily intended to build as part of glibc.
> However, the rest of the internal headers are very good about using "__name"
> instead of just "name", so this struck me as kind of unusual.

glibc uses internal_function as well, no need to __x it as long as it does 
not get installed
>   
> -Samrobb

Peter

-- 
Peter S. Mazinger <ps dot m at gmx dot net>           ID: 0xA5F059F2
Key fingerprint = 92A4 31E1 56BC 3D5A 2D08  BB6E C389 975E A5F0 59F2




More information about the uClibc mailing list