Closed McKnight22 closed 3 years ago
Further info: The UiApp.offset not created is due to the below command which should create UiApp.offset but not. Why?
Trim --Vfr-Uni-Offset -o /root/uefi/Build/FreedomU540HiFiveUnleashed/DEBUG_GCC5/FV/Ffs/462CAA21-7614-4503-836E-8AB6F4662331UiApp/UiApp.offset --ModuleName=UiApp --DebugDir=/root/uefi/Build/FreedomU540HiFiveUnleashed/DEBUG_GCC5/RISCV64/MdeModulePkg/Application/UiApp/UiApp/DEBUG
And one more thing: Before building, PcdSet64 and PcdSet32 in /root/uefi/edk2-platforms/Platform/SiFive/U5SeriesPkg/Universal/Dxe/RamFvbServicesRuntimeDxe/FwBlockService.c should be replaced with PcdSet64S and PcdSet32S since PcdSet64 and PcdSet32 are deprecated.
The root cause is found! The UiApp.offset not created is due to cannot get variable offset via parsing UiApp.map. But why cannot get variable offset via parsing UiApp.map? It depends on whether the content in UiApp.map is correct or not. The logic can be found in the function GetVariableOffset of edk2/BaseTools/Source/Python/Common/Misc.py. For my case, the words "Archive member included" does not appears in the head of UiApp.map. Those words are writen in non-English in my UiApp.map file. So the offset variable can not be fetched. Why are those words writen in non-English? Please check your env variable $LANG via the command "echo $LANG".
The issue can be closed. It's my environment problem.
Hmm, that sounds like a general EDK2 problem. In what language are those words written? How did you fix it? The people on the official EDK2 development mailing list would probably be interested to hear about your case: devel@edk2.groups.io
Hi,
When building U540 UEFI binary, I got the error as below. It seems the UiApp.offset file not created automatically in the building process, and it causes the building error. Could someone please help me on it? Thanks in advance!
Error log:
Best Regards