You can change this error message, then print the error message with pcd name, next to check this PCD definition in package DEC file.
EdkLogger.error("build", PCD_STRUCTURE_PCD_ERROR, "The structure Pcd %s.%s header file is not found in %s line %s \n" % (pcd.TokenSpaceGuidCName, pcd.TokenCName, pcd.DefinitionPosition[0], pcd.DefinitionPosition[1] ))
è
EdkLogger.error("build", PCD_STRUCTURE_PCD_ERROR, "The structure Pcd %s.%s header file is not found \n" % (pcd.TokenSpaceGuidCName, pcd.TokenCName))
Thanks
Liming
发件人: bounce+27952+71125+4905953+8761045@groups.io <bounce+27952+71125+4905953+8761045@groups.io> 代表 Guomin Jiang
发送时间: 2021年2月4日 8:40
收件人: devel@edk2.groups.io; suchenyu@zoyatek.com.cn
主题: Re: [edk2-devel] UEFI compile error
It seem that you use some PCD directly but haven’t declare it in DEC file as below error.
File "/home/git/sw-edkII/edkII/BaseTools/Source/Python/Workspace/DecBuildData.py", line 468, in _GetPcd
EdkLogger.error("build", PCD_STRUCTURE_PCD_ERROR, "The structure Pcd %s.%s header file is not found in %s line %s \n" % (pcd.TokenSpaceGuidCName, pcd.TokenCName, pcd.DefinitionPosition[0], pcd.DefinitionPosition[1] ))
AttributeError: 'StructurePcd' object has no attribute 'DefinitionPosition'
Please double confirm it.
Thanks.
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of suchenyu@zoyatek.com.cn
Sent: Wednesday, February 3, 2021 2:11 PM
To: devel <devel@edk2.groups.io>
Subject: [edk2-devel] UEFI compile error
Hi,
The error information occur when I compile a new platform UEFI source, so I need some help to correct this error, please.
This is the error information under:
build.py...
: error C0DE: Unknown fatal error when processing [/home/git/sw-edkII/edkII/SenweiPkg/SenweiPkg.dec]
(Please send email to devel@edk2.groups.io for help, attaching following call stack trace!)
(Python 2.7.12 on linux2) Traceback (most recent call last):
File "/home/git/sw-edkII/edkII/BaseTools//BinWrappers/PosixLike/../../Source/Python/build/build.py", line 2637, in Main
MyBuild.Launch()
File "/home/git/sw-edkII/edkII/BaseTools//BinWrappers/PosixLike/../../Source/Python/build/build.py", line 2432, in Launch
self._MultiThreadBuildPlatform()
File "/home/git/sw-edkII/edkII/BaseTools//BinWrappers/PosixLike/../../Source/Python/build/build.py", line 2239, in _MultiThreadBuildPlatform
Wa, self.BuildModules = self.PerformAutoGen(BuildTarget,ToolChain)
File "/home/git/sw-edkII/edkII/BaseTools//BinWrappers/PosixLike/../../Source/Python/build/build.py", line 2103, in PerformAutoGen
self.Progress
File "/home/git/sw-edkII/edkII/BaseTools/Source/Python/AutoGen/WorkspaceAutoGen.py", line 43, in __init__
self._InitWorker(Workspace, MetaFile, Target, Toolchain, Arch, *args, **kwargs)
File "/home/git/sw-edkII/edkII/BaseTools/Source/Python/AutoGen/WorkspaceAutoGen.py", line 117, in _InitWorker
self.ProcessPcdType()
File "/home/git/sw-edkII/edkII/BaseTools/Source/Python/AutoGen/WorkspaceAutoGen.py", line 264, in ProcessPcdType
Platform.Pcds
File "/home/git/sw-edkII/edkII/BaseTools/Source/Python/Workspace/DscBuildData.py", line 1198, in Pcds
self._Pcds.update(self._GetPcd(MODEL_PCD_FIXED_AT_BUILD))
File "/home/git/sw-edkII/edkII/BaseTools/Source/Python/Workspace/DscBuildData.py", line 1691, in _GetPcd
PcdValue, DatumType, MaxDatumSize = self._ValidatePcd(PcdCName, TokenSpaceGuid, Setting, Type, Dummy4)
File "/home/git/sw-edkII/edkII/BaseTools/Source/Python/Workspace/DscBuildData.py", line 917, in _ValidatePcd
self._DecPcds, self._GuidDict = GetDeclaredPcd(self, self._Bdb, self._Arch, self._Target, self._Toolchain, PkgSet)
File "/home/git/sw-edkII/edkII/BaseTools/Source/Python/Workspace/WorkspaceCommon.py", line 68, in GetDeclaredPcd
for Pcd in Pkg.Pcds:
File "/home/git/sw-edkII/edkII/BaseTools/Source/Python/Workspace/DecBuildData.py", line 355, in Pcds
self._Pcds.update(self._GetPcd(MODEL_PCD_DYNAMIC))
File "/home/git/sw-edkII/edkII/BaseTools/Source/Python/Workspace/DecBuildData.py", line 468, in _GetPcd
EdkLogger.error("build", PCD_STRUCTURE_PCD_ERROR, "The structure Pcd %s.%s header file is not found in %s line %s \n" % (pcd.TokenSpaceGuidCName, pcd.TokenCName, pcd.DefinitionPosition[0], pcd.DefinitionPosition[1] ))
AttributeError: 'StructurePcd' object has no attribute 'DefinitionPosition'