Keil Logo

ARMCC: Error: #869: could not set locale


Information in this knowledgebase article applies to:

  • ARM Compiler 5

SYMPTOM

I could build my project using Arm Compiler 5 toolchain without issue. 

But after upgrading to Windows 10 version 1809, I got the following error when compiling every module in my project:

Error: #869: could not set locale "" to allow processing of multibyte characters

How can I resolve this error?

CAUSE

This issue is mainly caused by the new Windows "Regional format" option together with additional Windows language packs introduced in Windows 10 version 1809 update.

This compilation error occurs when

  • "none-standard" or "mixed" regional format is selected, e.g. English (Germany) or English (Danish) etc., as shown here: 
  • AND
  • meanwhile, a "none-standard" language pack is installed, e.g. English (Germany) or English (Danish) etc., as shown here: 

In this case, Arm Compiler 5 cannot retrieve the system locale correctly, which will give the error above, no matter if source code contains multibyte characters or not.

RESOLUTION

Currently there are two solutions to resolve this issue:

  1. select a standard regional format and uninstall such a "none-standard" language pack and keep only the standard language packs in use in Windows, such as English (United Kingdom), English (United States), German (Germany) etc.
  2. use the Compiler command line option --locale=... to manually set a default locale for ARMCC compiler. Note that if you also use armcc as preprocessor in your scatter file, you need to add this compiler option to the scatter file as well, such as:
     #! armcc -E --locale=UK
     ...
    

STATUS

The Arm Compiler might be updated in future to overcome this issue.

MORE INFORMATION

Last Reviewed: Thursday, December 17, 2020


Did this article provide the answer you needed?
 
Yes
No
Not Sure
 
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.