Dear Sirs Update status After installing MinGW. Can build pass on windows platform. Thanks for supports Sincerely Linus From: Linus Liu Sent: Thursday, September 2, 2021 2:19 PM To: 'Sami Mujawar'; devel@edk2.groups.io; 'pierre.gondois@arm.com' Cc: nd Subject: RE: [edk2-devel] building-edkii-eufi-firmware-for-arm-platforms fail on windows 10. Dear Sirs Issue remain after following the settings as Laszlo’s mentioned. And I’ve googled the error messages. UnicodeEncodeError: 'cp950' codec can't encode character '\u59b8' in position 17: illegal multibyte sequence It seems related to windows character encoding. After running chcp 65001. The build error is similar as below link. [13:33:09.375]: [13:33:09.375]: D:\Code\Arm\edk2\BaseTools\Source\Python\AutoGen\ModuleAutoGen.py(1857): debug: Skipped the generation of [d:\code\arm\Build\ArmVExpress-FVP-AArch64\DEBUG_GCC5\AARCH64\ShellPkg\Application\Shell\Shell\DEBUG\AutoGen.c d:\code\arm\Build\ArmVExpress-FVP-AArch64\DEBUG_GCC5\AARCH64\ShellPkg\Application\Shell\Shell\DEBUG\AutoGen.h d:\code\arm\Build\ArmVExpress-FVP-AArch64\DEBUG_GCC5\AARCH64\ShellPkg\Application\Shell\Shell\DEBUG\ShellStrDefs.h d:\code\arm\Build\ArmVExpress-FVP-AArch64\DEBUG_GCC5\AARCH64\ShellPkg\Application\Shell\Shell\OUTPUT\ShellStrDefs.hpk Shell.depex] files for module Shell [AARCH64] .[13:33:09.388]: [13:33:09.387]: D:\Code\Arm\edk2\BaseTools\Source\Python\AutoGen\AutoGenWorker.py(301): debug: Worker 12804: Done done! [13:33:09.648]: [13:33:09.644]: D:\Code\Arm\edk2\BaseTools\Source\Python\build\build.py(461): debug: Pending Queue (20), Ready Queue (0) Building ... d:\code\arm\edk2\OvmfPkg\Library\VirtioLib\VirtioLib.inf [AARCH64] 'make' is not recognized as an internal or external command, operable program or batch file. Building ... d:\code\arm\edk2\MdeModulePkg\Library\DxeCapsuleLibNull\DxeCapsuleLibNull.inf [AARCH64] build.py... : error 7000: Failed to execute command make tbuild [d:\code\arm\Build\ArmVExpress-FVP-AArch64\DEBUG_GCC5\AARCH64\OvmfPkg\Library\VirtioLib\VirtioLib] build.py... : error 7000: Failed to execute command make tbuild [d:\code\arm\Build\ArmVExpress-FVP-AArch64\DEBUG_GCC5\AARCH64\MdeModulePkg\Library\DxeCapsuleLibNull\DxeCapsuleLibNull] build.py... : error F002: Failed to build module d:\code\arm\edk2\OvmfPkg\Library\VirtioLib\VirtioLib.inf [AARCH64, GCC5, DEBUG] - Failed - Build end time: 13:33:09, Sep.02 2021 Build total time: 00:00:05 https://community.arm.com/developer/ip-products/system/f/embedded-forum/48087/build-issue-on-uefi-arm-in-windows-10-console?tempkey=7f056598-cf28-4d6b-95e7-8742eb39d7fe From: Sami Mujawar [mailto:Sami.Mujawar@arm.com] Sent: Wednesday, September 1, 2021 7:31 PM To: Linus Liu; devel@edk2.groups.io Cc: nd Subject: Re: [edk2-devel] building-edkii-eufi-firmware-for-arm-platforms fail on windows 10. Hi Linus, The problem you are seeing appears to be with your development environment setup. It may be worth trying the settings described in ‘Laszlo's unkempt git guide for edk2 contributors and maintainers’ at https://github.com/tianocore/tianocore.github.io/wiki/Laszlo%27s-unkempt-git-guide-for-edk2-contributors-and-maintainers Also, you could try setting the GCC_HOST_PREFIX environment variable to force the build system to use nmake. set GCC_HOST_PREFIX=n call %WORKSPACE%\edk2\edksetup.bat Reconfig build -a AARCH64 -t GCC5 -p Platform\ARM\VExpressPkg\ArmVExpress-FVP-AArch64.dsc -b DEBUG Regards, Sami Mujawar From: Linus Liu Date: Wednesday, 1 September 2021 at 11:09 To: Sami Mujawar , "devel@edk2.groups.io" Cc: nd Subject: RE: [edk2-devel] building-edkii-eufi-firmware-for-arm-platforms fail on windows 10. Dear Sir After switching python 3.7. Still can’t work. Has other error. Thanks. Building ... d:\code\arm\edk2\ArmPkg\Library\CompilerIntrinsicsLib\CompilerIntrinsicsLib.inf [AARCH64] --- Logging error --- Traceback (most recent call last): File "C:\Python37\lib\logging\__init__.py", line 985, in emit stream.write(msg) UnicodeEncodeError: 'cp950' codec can't encode character '\u59b8' in position 17: illegal multibyte sequence Call stack: File "C:\Python37\lib\threading.py", line 885, in _bootstrap self._bootstrap_inner() File "C:\Python37\lib\threading.py", line 917, in _bootstrap_inner self.run() File "D:\Code\Arm\edk2\BaseTools\Source\Python\AutoGen\AutoGenWorker.py", line 91, in run self._InfoLogger_agent.log(log_message.levelno,log_message.getMessage()) Message: "'make' OΥ~ROBi檺{Χ\u59b8\u0261C" Arguments: () build.py... : error 7000: Failed to execute command make tbuild [d:\code\arm\Build\ArmVExpress-FVP-AArch64\DEBUG_GCC5\AARCH64\ArmPkg\Library\CompilerIntrinsicsLib\CompilerIntrinsicsLib] build.py... : error F002: Failed to build module d:\code\arm\edk2\ArmPkg\Library\CompilerIntrinsicsLib\CompilerIntrinsicsLib.inf [AARCH64, GCC5, DEBUG] - Failed - Build end time: 18:02:33, Sep.01 2021 Build total time: 00:00:05 From: Sami Mujawar [mailto:Sami.Mujawar@arm.com] Sent: Wednesday, September 1, 2021 5:30 PM To: devel@edk2.groups.io; Linus Liu Cc: nd Subject: Re: [edk2-devel] building-edkii-eufi-firmware-for-arm-platforms fail on windows 10. Hi Linus, It looks like Python2.7 is not working with the EDK2 build system on Windows (at least for Arm builds). Can you try using Python 3.7 instead? I am using Python 3.7.3 and the build is working. Please let me know if switching to Python 3.7 does not work. Regards, Sami Mujawar From: on behalf of "Linus Liu via groups.io" Reply to: "devel@edk2.groups.io" , "Linus_Liu@phoenix.com" Date: Wednesday, 1 September 2021 at 08:50 To: "devel@edk2.groups.io" Subject: [edk2-devel] building-edkii-eufi-firmware-for-arm-platforms fail on windows 10. Dear Sir I’ve followed the attachment try to build UEFI on ARM platform. But when I ran the below command. build -a AARCH64 -t GCC5 -p Platform\ARM\VExpressPkg\ArmVExpress-FVP-AArch64.dsc -b DEBUG It shows Build fail. Then I’ve tried. build -a AARCH64 -t GCC5 -p Platform\ARM\VExpressPkg\ArmVExpress-FVP-AArch64.dsc -b DEBUG clean It shows Build environment: Windows-10-10.0.18362 Build start time: 12:00:00, Sep.01 2021 WORKSPACE = d:\code\arm PACKAGES_PATH = d:\code\arm\edk2;d:\code\arm\edk2-platforms EDK_TOOLS_PATH = d:\code\arm\edk2\basetools EDK_TOOLS_BIN = d:\code\arm\edk2\basetools\bin\win32 CONF_PATH = d:\code\arm\edk2\conf PYTHON_COMMAND = C:\Python27\python.exe Architecture(s) = AARCH64 Processing meta-data .Build target = DEBUG Toolchain = GCC5 Active Platform = d:\code\arm\edk2-platforms\Platform\ARM\VExpressPkg\ArmVExpress-FVP-AArch64.dsc . done! build.py... : error C0DE: Unknown fatal error when processing [d:\code\arm\edk2\MdeModulePkg\Universal\DisplayEngineDxe\DisplayEngineDxe.inf] (Please send email to devel@edk2.groups.io for help, attaching following call stack trace!) (Python 2.7.18 on win32) Traceback (most recent call last): File "D:\Code\Arm\edk2\BaseTools\Source\Python\build\build.py", line 2698, in Main MyBuild.Launch() File "D:\Code\Arm\edk2\BaseTools\Source\Python\build\build.py", line 2491, in Launch self._BuildPlatform() File "D:\Code\Arm\edk2\BaseTools\Source\Python\build\build.py", line 1824, in _BuildPlatform self._BuildPa(self.Target, Pa, FfsCommand=CmdListDict,PcdMaList=PcdMaList) File "D:\Code\Arm\edk2\BaseTools\Source\Python\build\build.py", line 1293, in _BuildPa AutoGenObject.CreateCodeFile(True) File "D:\Code\Arm\edk2\BaseTools\Source\Python\Common\caching.py", line 18, in CallMeHere Value = self._function(obj, *args,**kwargs) File "D:\Code\Arm\edk2\BaseTools\Source\Python\AutoGen\PlatformAutoGen.py", line 173, in CreateCodeFile Ma.CreateCodeFile(CreateModuleCodeFile) File "D:\Code\Arm\edk2\BaseTools\Source\Python\AutoGen\ModuleAutoGen.py", line 1829, in CreateCodeFile for File in self.AutoGenFileList: File "D:\Code\Arm\edk2\BaseTools\Source\Python\Common\caching.py", line 28, in __get__ Value = obj.__dict__[self._function.__name__] = self._function(obj) File "D:\Code\Arm\edk2\BaseTools\Source\Python\AutoGen\ModuleAutoGen.py", line 983, in AutoGenFileList GenC.CreateCode(self, AutoGenC, AutoGenH, StringH, AutoGenUniIdf, UniStringBinBuffer, StringIdf, AutoGenUniIdf, IdfGenBinBuffer) File "D:\Code\Arm\edk2\BaseTools\Source\Python\AutoGen\GenC.py", line 2047, in CreateCode CreateUnicodeStringCode(Info, AutoGenC, StringH, UniGenCFlag, UniGenBinBuffer) File "D:\Code\Arm\edk2\BaseTools\Source\Python\AutoGen\GenC.py", line 1706, in CreateUnicodeStringCode Header, Code = GetStringFiles(Info.UnicodeFileList, SrcList, IncList, Info.IncludePathList, ['.uni', '.inf'], Info.Name, CompatibleMode, ShellMode, UniGenCFlag, UniGenBinBuffer, FilterInfo) File "D:\Code\Arm\edk2\BaseTools\Source\Python\AutoGen\StrGather.py", line 557, in GetStringFiles Uni = UniFileClassObject(sorted(UniFilList, key=lambda x: x.File), IsCompatibleMode, IncludePathList) File "D:\Code\Arm\edk2\BaseTools\Source\Python\AutoGen\UniClassObject.py", line 230, in __init__ self.LoadUniFiles(FileList) File "D:\Code\Arm\edk2\BaseTools\Source\Python\AutoGen\UniClassObject.py", line 542, in LoadUniFiles self.LoadUniFile(File) File "D:\Code\Arm\edk2\BaseTools\Source\Python\AutoGen\UniClassObject.py", line 472, in LoadUniFile self.GetLangDef(File, Line) File "D:\Code\Arm\edk2\BaseTools\Source\Python\AutoGen\UniClassObject.py", line 236, in GetLangDef Lang = shlex.split(Line.split(u"//")[0]) File "C:\Python27\lib\shlex.py", line 275, in split lex = shlex(s, posix=posix) File "C:\Python27\lib\shlex.py", line 25, in __init__ instream = StringIO(instream) UnicodeEncodeError: 'ascii' codec can't encode character u'\xe7' in position 20: ordinal not in range(128) - Failed - Build end time: 12:00:02, Sep.01 2021 Build total time: 00:00:03 Could you kindly help on it? Thanks.