I was looking into using PACKAGES_PATH in our Tree and it seems to fail on a !include statement in DSC files that depend on PACKAGES_PATH.
I'm not sure how to fix it as the error is coming from PathClass::Validate in code that is using that as a probe to try the workspace. BaseTools/Source/Python/Workspace/MetaFileParser.py IncludedFile = NormPath(ReplaceMacro(self._ValueList[1], __IncludeMacros, RaiseError=True)) # # First search the include file under the same directory as DSC file # IncludedFile1 = PathClass(IncludedFile, self.MetaFile.Dir) ErrorCode, ErrorInfo1 = IncludedFile1.Validate() if ErrorCode != 0: # # Also search file under the WORKSPACE directory # IncludedFile1 = PathClass(IncludedFile, GlobalData.gWorkspace) ErrorCode, ErrorInfo2 = IncludedFile1.Validate() if ErrorCode != 0: EdkLogger.error('parser', ErrorCode, File=self._FileWithError, Line=self._LineIndex + 1, ExtraData=ErrorInfo1 + "\n" + ErrorInfo2) Should invoking PathClass() abstract the PACKAGES_PATH? I see it calling mws.getWs()? It looks like the PathClass() is invoked like (FYI /Volumes/Case/edk2-git/edk2/StdLib/StdLib.inc): PathClass self.Root = /Volumes/Case/edk2-git/Vendor/X/XPkg self.File = StdLib/StdLib.inc getWs() Ws=/Volumes/Case/Janus/Vendor/X/XPkg Path=StdLib/StdLib.inc getWs() /Volumes/Case/edk2-git/Vendor/X/XPkg For a test case you can shift to an edk2/ and then try to include StdLib.inc. !include StdLib/StdLib.inc Thanks, Andrew Fish _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel