[edk2] [PATCH] BaseTools: Fix GenSec can't found the depex file

Yonghong Zhu posted 1 patch 6 years, 4 months ago
There is a newer version of this series
BaseTools/Source/Python/GenFds/EfiSection.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
[edk2] [PATCH] BaseTools: Fix GenSec can't found the depex file
Posted by Yonghong Zhu 6 years, 4 months ago
From: Yunhua Feng <yunhuax.feng@intel.com>

Filter the FileList when multiple genfds thread options is not enabled.

Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com>
---
 BaseTools/Source/Python/GenFds/EfiSection.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/BaseTools/Source/Python/GenFds/EfiSection.py b/BaseTools/Source/Python/GenFds/EfiSection.py
index 7b3b717191..4276945a10 100644
--- a/BaseTools/Source/Python/GenFds/EfiSection.py
+++ b/BaseTools/Source/Python/GenFds/EfiSection.py
@@ -92,7 +92,8 @@ class EfiSection (EfiSectionClassObject):
             elif os.path.exists(Filename):
                 FileList.append(Filename)
             elif '.depex' in FfsInf.FinalTargetSuffixMap or FfsInf.Depex:
-                FileList.append(Filename)
+                if IsMakefile:
+                    FileList.append(Filename)
         else:
             FileList, IsSect = Section.Section.GetFileList(FfsInf, self.FileType, self.FileExtension, Dict)
             if IsSect :
-- 
2.12.2.windows.2

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH] BaseTools: Fix GenSec can't found the depex file
Posted by Leif Lindholm 6 years, 4 months ago
Hi Yonghong,

This patch resolves the issue for the hikey platform, but not for
(edk2-platforms/Platform/Hisilicon/)D03/D05. They fail with

---
Generating FVMAIN FV
######
########################################
#############################Return Value = 2
GenSec: ERROR 0001: Error opening file

  /work/git/tianocore/Build/D03/DEBUG_GCC5/AARCH64/Platform/Hisilicon/D03/Drivers/Net/SnpPlatform/SnpPlatform/OUTPUT/SnpPlatform.depex
GenSec: ERROR 2000: Status is not successful
---

and

---
Generating FVMAIN FV
######
########################################
########################################
################Return Value = 2
GenSec: ERROR 0001: Error opening file


  /work/git/tianocore/Build/D05/RELEASE_GCC5/AARCH64/Platform/Hisilicon/D05/Drivers/Net/SnpPlatform/SnpPlatform/OUTPUT/SnpPlatform.depex
GenFds.py...
 : error 7000: Failed to generate section
GenSec: ERROR 2000: Status is not successful
---

respectively.

Again, reverting 37de70b7 makes the build successful again.

Note that the failing drivers are binary, held in edk2-non-osi.

Regards,

Leif

On Thu, Dec 07, 2017 at 02:51:17PM +0800, Yonghong Zhu wrote:
> From: Yunhua Feng <yunhuax.feng@intel.com>
> 
> Filter the FileList when multiple genfds thread options is not enabled.
> 
> Cc: Liming Gao <liming.gao@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com>
> ---
>  BaseTools/Source/Python/GenFds/EfiSection.py | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/BaseTools/Source/Python/GenFds/EfiSection.py b/BaseTools/Source/Python/GenFds/EfiSection.py
> index 7b3b717191..4276945a10 100644
> --- a/BaseTools/Source/Python/GenFds/EfiSection.py
> +++ b/BaseTools/Source/Python/GenFds/EfiSection.py
> @@ -92,7 +92,8 @@ class EfiSection (EfiSectionClassObject):
>              elif os.path.exists(Filename):
>                  FileList.append(Filename)
>              elif '.depex' in FfsInf.FinalTargetSuffixMap or FfsInf.Depex:
> -                FileList.append(Filename)
> +                if IsMakefile:
> +                    FileList.append(Filename)
>          else:
>              FileList, IsSect = Section.Section.GetFileList(FfsInf, self.FileType, self.FileExtension, Dict)
>              if IsSect :
> -- 
> 2.12.2.windows.2
> 
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH] BaseTools: Fix GenSec can't found the depex file
Posted by Zhu, Yonghong 6 years, 4 months ago
Hi Leif,

May I know how this binary driver is described in DSC file and FDF file, and the [Rule.Common.DXE_DRIVER.BINARY] section ?
I tried to add this driver into OvmfPkg, but failed to reproduce this failure. Thanks.

Best Regards,
Zhu Yonghong


-----Original Message-----
From: Leif Lindholm [mailto:leif.lindholm@linaro.org] 
Sent: Thursday, December 07, 2017 7:30 PM
To: Zhu, Yonghong <yonghong.zhu@intel.com>
Cc: edk2-devel@lists.01.org; Feng, YunhuaX <yunhuax.feng@intel.com>; Gao, Liming <liming.gao@intel.com>
Subject: Re: [edk2] [PATCH] BaseTools: Fix GenSec can't found the depex file

Hi Yonghong,

This patch resolves the issue for the hikey platform, but not for (edk2-platforms/Platform/Hisilicon/)D03/D05. They fail with

---
Generating FVMAIN FV
######
########################################
#############################Return Value = 2
GenSec: ERROR 0001: Error opening file

  /work/git/tianocore/Build/D03/DEBUG_GCC5/AARCH64/Platform/Hisilicon/D03/Drivers/Net/SnpPlatform/SnpPlatform/OUTPUT/SnpPlatform.depex
GenSec: ERROR 2000: Status is not successful
---

and

---
Generating FVMAIN FV
######
########################################
########################################
################Return Value = 2
GenSec: ERROR 0001: Error opening file


  /work/git/tianocore/Build/D05/RELEASE_GCC5/AARCH64/Platform/Hisilicon/D05/Drivers/Net/SnpPlatform/SnpPlatform/OUTPUT/SnpPlatform.depex
GenFds.py...
 : error 7000: Failed to generate section
GenSec: ERROR 2000: Status is not successful
---

respectively.

Again, reverting 37de70b7 makes the build successful again.

Note that the failing drivers are binary, held in edk2-non-osi.

Regards,

Leif

On Thu, Dec 07, 2017 at 02:51:17PM +0800, Yonghong Zhu wrote:
> From: Yunhua Feng <yunhuax.feng@intel.com>
> 
> Filter the FileList when multiple genfds thread options is not enabled.
> 
> Cc: Liming Gao <liming.gao@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com>
> ---
>  BaseTools/Source/Python/GenFds/EfiSection.py | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/BaseTools/Source/Python/GenFds/EfiSection.py 
> b/BaseTools/Source/Python/GenFds/EfiSection.py
> index 7b3b717191..4276945a10 100644
> --- a/BaseTools/Source/Python/GenFds/EfiSection.py
> +++ b/BaseTools/Source/Python/GenFds/EfiSection.py
> @@ -92,7 +92,8 @@ class EfiSection (EfiSectionClassObject):
>              elif os.path.exists(Filename):
>                  FileList.append(Filename)
>              elif '.depex' in FfsInf.FinalTargetSuffixMap or FfsInf.Depex:
> -                FileList.append(Filename)
> +                if IsMakefile:
> +                    FileList.append(Filename)
>          else:
>              FileList, IsSect = Section.Section.GetFileList(FfsInf, self.FileType, self.FileExtension, Dict)
>              if IsSect :
> --
> 2.12.2.windows.2
> 
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH] BaseTools: Fix GenSec can't found the depex file
Posted by Leif Lindholm 6 years, 4 months ago
Hi Yonghong,

I do not have the DSC that was used to build it. The FDF is
https://github.com/tianocore/edk2-platforms/blob/master/Platform/Hisilicon/D05/D05.fdf#L250

Jason (cc) may be able to provide more information on the binary.

Best Regards,

Leif

On Thu, Dec 07, 2017 at 12:55:48PM +0000, Zhu, Yonghong wrote:
> Hi Leif,
> 
> May I know how this binary driver is described in DSC file and FDF
> file, and the [Rule.Common.DXE_DRIVER.BINARY] section ?
> I tried to add this driver into OvmfPkg, but failed to reproduce
> this failure. Thanks.
> 
> Best Regards,
> Zhu Yonghong
> 
> 
> -----Original Message-----
> From: Leif Lindholm [mailto:leif.lindholm@linaro.org] 
> Sent: Thursday, December 07, 2017 7:30 PM
> To: Zhu, Yonghong <yonghong.zhu@intel.com>
> Cc: edk2-devel@lists.01.org; Feng, YunhuaX <yunhuax.feng@intel.com>; Gao, Liming <liming.gao@intel.com>
> Subject: Re: [edk2] [PATCH] BaseTools: Fix GenSec can't found the depex file
> 
> Hi Yonghong,
> 
> This patch resolves the issue for the hikey platform, but not for (edk2-platforms/Platform/Hisilicon/)D03/D05. They fail with
> 
> ---
> Generating FVMAIN FV
> ######
> ########################################
> #############################Return Value = 2
> GenSec: ERROR 0001: Error opening file
> 
>   /work/git/tianocore/Build/D03/DEBUG_GCC5/AARCH64/Platform/Hisilicon/D03/Drivers/Net/SnpPlatform/SnpPlatform/OUTPUT/SnpPlatform.depex
> GenSec: ERROR 2000: Status is not successful
> ---
> 
> and
> 
> ---
> Generating FVMAIN FV
> ######
> ########################################
> ########################################
> ################Return Value = 2
> GenSec: ERROR 0001: Error opening file
> 
> 
>   /work/git/tianocore/Build/D05/RELEASE_GCC5/AARCH64/Platform/Hisilicon/D05/Drivers/Net/SnpPlatform/SnpPlatform/OUTPUT/SnpPlatform.depex
> GenFds.py...
>  : error 7000: Failed to generate section
> GenSec: ERROR 2000: Status is not successful
> ---
> 
> respectively.
> 
> Again, reverting 37de70b7 makes the build successful again.
> 
> Note that the failing drivers are binary, held in edk2-non-osi.
> 
> Regards,
> 
> Leif
> 
> On Thu, Dec 07, 2017 at 02:51:17PM +0800, Yonghong Zhu wrote:
> > From: Yunhua Feng <yunhuax.feng@intel.com>
> > 
> > Filter the FileList when multiple genfds thread options is not enabled.
> > 
> > Cc: Liming Gao <liming.gao@intel.com>
> > Contributed-under: TianoCore Contribution Agreement 1.1
> > Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com>
> > ---
> >  BaseTools/Source/Python/GenFds/EfiSection.py | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/BaseTools/Source/Python/GenFds/EfiSection.py 
> > b/BaseTools/Source/Python/GenFds/EfiSection.py
> > index 7b3b717191..4276945a10 100644
> > --- a/BaseTools/Source/Python/GenFds/EfiSection.py
> > +++ b/BaseTools/Source/Python/GenFds/EfiSection.py
> > @@ -92,7 +92,8 @@ class EfiSection (EfiSectionClassObject):
> >              elif os.path.exists(Filename):
> >                  FileList.append(Filename)
> >              elif '.depex' in FfsInf.FinalTargetSuffixMap or FfsInf.Depex:
> > -                FileList.append(Filename)
> > +                if IsMakefile:
> > +                    FileList.append(Filename)
> >          else:
> >              FileList, IsSect = Section.Section.GetFileList(FfsInf, self.FileType, self.FileExtension, Dict)
> >              if IsSect :
> > --
> > 2.12.2.windows.2
> > 
> > _______________________________________________
> > edk2-devel mailing list
> > edk2-devel@lists.01.org
> > https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH] BaseTools: Fix GenSec can't found the depex file
Posted by Zhu, Yonghong 6 years, 4 months ago
Hi Leif,

I reproduced this issue. Thanks. I will try to fix it ASAP.

Best Regards,
Zhu Yonghong


-----Original Message-----
From: Leif Lindholm [mailto:leif.lindholm@linaro.org] 
Sent: Thursday, December 07, 2017 10:36 PM
To: Zhu, Yonghong <yonghong.zhu@intel.com>
Cc: edk2-devel@lists.01.org; Feng, YunhuaX <yunhuax.feng@intel.com>; Gao, Liming <liming.gao@intel.com>; jason.zhang@linaro.org
Subject: Re: [edk2] [PATCH] BaseTools: Fix GenSec can't found the depex file

Hi Yonghong,

I do not have the DSC that was used to build it. The FDF is
https://github.com/tianocore/edk2-platforms/blob/master/Platform/Hisilicon/D05/D05.fdf#L250

Jason (cc) may be able to provide more information on the binary.

Best Regards,

Leif

On Thu, Dec 07, 2017 at 12:55:48PM +0000, Zhu, Yonghong wrote:
> Hi Leif,
> 
> May I know how this binary driver is described in DSC file and FDF 
> file, and the [Rule.Common.DXE_DRIVER.BINARY] section ?
> I tried to add this driver into OvmfPkg, but failed to reproduce this 
> failure. Thanks.
> 
> Best Regards,
> Zhu Yonghong
> 
> 
> -----Original Message-----
> From: Leif Lindholm [mailto:leif.lindholm@linaro.org]
> Sent: Thursday, December 07, 2017 7:30 PM
> To: Zhu, Yonghong <yonghong.zhu@intel.com>
> Cc: edk2-devel@lists.01.org; Feng, YunhuaX <yunhuax.feng@intel.com>; 
> Gao, Liming <liming.gao@intel.com>
> Subject: Re: [edk2] [PATCH] BaseTools: Fix GenSec can't found the 
> depex file
> 
> Hi Yonghong,
> 
> This patch resolves the issue for the hikey platform, but not for 
> (edk2-platforms/Platform/Hisilicon/)D03/D05. They fail with
> 
> ---
> Generating FVMAIN FV
> ######
> ########################################
> #############################Return Value = 2
> GenSec: ERROR 0001: Error opening file
> 
>   
> /work/git/tianocore/Build/D03/DEBUG_GCC5/AARCH64/Platform/Hisilicon/D0
> 3/Drivers/Net/SnpPlatform/SnpPlatform/OUTPUT/SnpPlatform.depex
> GenSec: ERROR 2000: Status is not successful
> ---
> 
> and
> 
> ---
> Generating FVMAIN FV
> ######
> ########################################
> ########################################
> ################Return Value = 2
> GenSec: ERROR 0001: Error opening file
> 
> 
>   
> /work/git/tianocore/Build/D05/RELEASE_GCC5/AARCH64/Platform/Hisilicon/
> D05/Drivers/Net/SnpPlatform/SnpPlatform/OUTPUT/SnpPlatform.depex
> GenFds.py...
>  : error 7000: Failed to generate section
> GenSec: ERROR 2000: Status is not successful
> ---
> 
> respectively.
> 
> Again, reverting 37de70b7 makes the build successful again.
> 
> Note that the failing drivers are binary, held in edk2-non-osi.
> 
> Regards,
> 
> Leif
> 
> On Thu, Dec 07, 2017 at 02:51:17PM +0800, Yonghong Zhu wrote:
> > From: Yunhua Feng <yunhuax.feng@intel.com>
> > 
> > Filter the FileList when multiple genfds thread options is not enabled.
> > 
> > Cc: Liming Gao <liming.gao@intel.com>
> > Contributed-under: TianoCore Contribution Agreement 1.1
> > Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com>
> > ---
> >  BaseTools/Source/Python/GenFds/EfiSection.py | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/BaseTools/Source/Python/GenFds/EfiSection.py
> > b/BaseTools/Source/Python/GenFds/EfiSection.py
> > index 7b3b717191..4276945a10 100644
> > --- a/BaseTools/Source/Python/GenFds/EfiSection.py
> > +++ b/BaseTools/Source/Python/GenFds/EfiSection.py
> > @@ -92,7 +92,8 @@ class EfiSection (EfiSectionClassObject):
> >              elif os.path.exists(Filename):
> >                  FileList.append(Filename)
> >              elif '.depex' in FfsInf.FinalTargetSuffixMap or FfsInf.Depex:
> > -                FileList.append(Filename)
> > +                if IsMakefile:
> > +                    FileList.append(Filename)
> >          else:
> >              FileList, IsSect = Section.Section.GetFileList(FfsInf, self.FileType, self.FileExtension, Dict)
> >              if IsSect :
> > --
> > 2.12.2.windows.2
> > 
> > _______________________________________________
> > edk2-devel mailing list
> > edk2-devel@lists.01.org
> > https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel