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: <devel@edk2.groups.io> on behalf of "Linus Liu via groups.io" <Linus_Liu=phoenix.com@groups.io>
Reply to: "devel@edk2.groups.io" <devel@edk2.groups.io>, "Linus_Liu@phoenix.com" <Linus_Liu@phoenix.com>
Date: Wednesday, 1 September 2021 at 08:50
To: "devel@edk2.groups.io" <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.