Build fails with an error in setlocale.h
Matthew Wahab
matthew.wahab@foss.arm.com
Tue Aug 16 13:59:00 GMT 2016
On 16/08/16 14:27, Corinna Vinschen wrote:
> Hi Matthew,
>
> On Aug 16 12:57, Matthew Wahab wrote: > On 16/08/16 12:39, Matthew Wahab wrote:
>>> On 16/08/16 11:48, Corinna Vinschen wrote:
>>>> On Aug 16 11:37, Matthew Wahab wrote:
>>>>> I get a build failure when cross-compiling for aarch64-none-elf, the error
>>>>> message is
>>>>> ----
>>>>> newlib-cygwin/newlib/libc/stdlib/../locale/setlocale.h:206:38: error:
>>>>> unknown type name 'locale_t'; did you mean 'clockid_t'?
>>>>> size_t, size_t, mbstate_t *, locale_t);
>>>>> ^~~~~~~~
>>>>> clockid_t
>>>>
>>>>
>>>> Can you test that the above patch works for you? I'll check it in then.
>>>>
>>>
>>> Thanks for the patch. It fixes that failure but there's another in localeconv.c:
>>
>> I've also tried with the second patch and still get the build errors.
>
> I applied a couple of patches meant to fix the locale stuff on non-Cygwin
> targets. Please give them a try.
>
Thanks for that. The patches worked but now there are failures to do with
_C_monetary_locale, _C_numeric_locale, _C_time_locale and _C_messages_locale. e.g.
----
newlib-cygwin/newlib/libc/stdlib/../locale/setlocale.h: In function
'__get_monetary_locale':
newlib-cygwin/newlib/libc/stdlib/../locale/setlocale.h:329:10: error:
incompatible types when returning type 'const struct lc_monetary_T' but 'const
struct lc_monetary_T *' was expected
return _C_monetary_locale;
^~~~~~~~~~~~~~~~~~
----
There are a number of these, it looks like they're all in setlocale.h.
Matthew
More information about the Newlib
mailing list