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 <Linus_Liu@phoenix.com>
Date: Wednesday, 1 September 2021 at 11:09
To: Sami Mujawar <Sami.Mujawar@arm.com>, "devel@edk2.groups.io" <devel@edk2.groups.io>
Cc: nd <nd@arm.com>
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: <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.