Re: [EXTERNAL] Re: [edk2-discuss] failure in building unit test locally
wenyi,xie
Hi Bret,
toggle quoted messageShow quoted text
It seems no need to change the language of windows, I found that the root cause is that the language of Visual Studio I installed is Chinese. So if any warning or error occured during building, the VS will output error message in Chinese. This message then is passed to BaseTools, but BaseTools can't decode it using gbk, so UnicodeEncodeError happened like below. INFO - --- Logging error --- INFO - Traceback (most recent call last): INFO - File "C:\Program Files\Python37\lib\logging_init_.py", line 1028, in emit INFO - stream.write(msg + self.terminator) INFO - UnicodeEncodeError: 'gbk' codec can't encode character '\u017b' in position 26: illegal multibyte sequence INFO - Call stack: INFO - File "C:\Program Files\Python37\lib\threading.py", line 890, in _bootstrap INFO - self._bootstrap_inner() INFO - File "C:\Program Files\Python37\lib\threading.py", line 926, in _bootstrap_inner INFO - self.run() INFO - File "d:\repository\edkii\ci\lib\site-packages\edk2basetools\AutoGen\AutoGenWorker.py", line 91, in run INFO - self.InfoLogger_agent.log(log_message.levelno,log_message.getMessage()) INFO - Message: ' x64 Microsoft (R) C/C++ \u017b 19.29.30038.1 ' INFO - Arguments: () After I change the language of VS, I can get the real error message as below. The file cmocka.h include some character can't represented. I try to add # pragma warning (disable:4819) to the first line of cmocka.h, and then building is successful. ERROR - Compiler #2220 from b'd:\\\\repository\\\\edkii\\\\edk2\\\\UnitTestFrameworkPkg\\\\Library\\\\CmockaLib\\\\cmocka\\\\include\\\\cmocka.h(1849): the following warning is treated as an error' WARNING - Compiler #4819 from b'd:\\\\repository\\\\edkii\\\\edk2\\\\UnitTestFrameworkPkg\\\\Library\\\\CmockaLib\\\\cmocka\\\\include\\\\cmocka.h(1849): The file contains a character that cannot be represented in the current code page (936). Save the file in Unicode format to prevent data loss' Thanks Wenyi
On 2021/7/28 0:17, Bret Barkelew wrote:
Thanks for your follow-up. This is a known limitation that we have worked to resolve but ran into some unknown/unexpected errors. We definitely want to support both traditional and simplified character sets (as well as any other character sets), but if I recall there were some ambiguous OS mechanisms at work.
|
|