[edk2-devel] Question: module compilation failure with less number of files

Abhishek Shah via groups.io posted 1 patch 3 years, 2 months ago
Failed in applying to current master (apply log)
[edk2-devel] Question: module compilation failure with less number of files
Posted by Abhishek Shah via groups.io 3 years, 2 months ago
Hi All,

I am trying to compile some ACPI tables, and I observed that
if I specify less minimal tables/asl as Sources for ACPI tables module INF
file
(resulting in less size of overall module), compilation fails with below
error:

build.py...
 : error F003: Output file for RAW section could not be found for
Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf

To reproduce this issue,
1) Apply below patch (just keeping Fadt.c here as example;
Other ways: just keep ASL file after removing some objects to reduce file
size; or keep combination of .c and .asl files - **as long as these files
are small**):
--------------------------------------------------------------------------------
diff --git a/Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf
b/Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf
index f140febc4a..1a489a0a8a 100644
--- a/Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf
+++ b/Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf
@@ -16,13 +16,8 @@
   VERSION_STRING                 = 1.0

 [Sources]
-  Dsdt.asl
-  Dbg2.aslc
-  Spcr.aslc
   Fadt.aslc
-  Gtdt.aslc
   Madt.aslc
-  AcpiSsdtRootPci.asl          # Juno R1 specific

 [Packages]
   ArmPkg/ArmPkg.dec
--------------------------------------------------------------------------------

2) Now compile the module:
export PACKAGES_PATH=`pwd`/edk2-platforms/
--------------------------------------------------------------------------------
build   -a AARCH64 -t GCC5 -p Platform/ARM/JunoPkg/ArmJuno.dsc -m
Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf

Processing meta-data .
Architecture(s)  = AARCH64
Build target     = DEBUG
Toolchain        = GCC5

Active Platform          =
/projects/uefi/edk2-platforms/Platform/ARM/JunoPkg/ArmJuno.dsc
Active Module            =
/projects/uefi/edk2-platforms/Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf
...

build.py...
 : error F003: Output file for RAW section could not be found for
Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf

- Failed -
Build end time: 17:44:14, Jan.28 2021
Build total time: 00:00:04
--------------------------------------------------------------------------------

Can anyone help understand this behavior?

Regards,
Abhishek


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#70854): https://edk2.groups.io/g/devel/message/70854
Mute This Topic: https://groups.io/mt/80186004/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] Question: module compilation failure with less number of files
Posted by Abhishek Shah via groups.io 3 years, 2 months ago
I got an answer based on the other question I had posted.
I think "Rule" provided for given inf (using RuleOverride) forces certain
files to be present:

[Rule.Common.USER_DEFINED.ACPITABLE]
  FILE FREEFORM = $(NAMED_GUID) {
    RAW ACPI               |.acpi
    RAW ASL                |.aml
  }

So, in this case, for given inf module, if either of .acpi or .aml file is
not generated,
then below kind of error shows up:

: error F003: Output file for RAW section could not be found for
Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf

Regards,
Abhishek

On Thu, Jan 28, 2021 at 5:47 PM Abhishek Shah <abhishek.shah@broadcom.com>
wrote:

> Hi All,
>
> I am trying to compile some ACPI tables, and I observed that
> if I specify less minimal tables/asl as Sources for ACPI tables module INF
> file
> (resulting in less size of overall module), compilation fails with below
> error:
>
> build.py...
>  : error F003: Output file for RAW section could not be found for
> Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf
>
> To reproduce this issue,
> 1) Apply below patch (just keeping Fadt.c here as example;
> Other ways: just keep ASL file after removing some objects to reduce file
> size; or keep combination of .c and .asl files - **as long as these files
> are small**):
>
> --------------------------------------------------------------------------------
> diff --git a/Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf
> b/Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf
> index f140febc4a..1a489a0a8a 100644
> --- a/Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf
> +++ b/Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf
> @@ -16,13 +16,8 @@
>    VERSION_STRING                 = 1.0
>
>  [Sources]
> -  Dsdt.asl
> -  Dbg2.aslc
> -  Spcr.aslc
>    Fadt.aslc
> -  Gtdt.aslc
>    Madt.aslc
> -  AcpiSsdtRootPci.asl          # Juno R1 specific
>
>  [Packages]
>    ArmPkg/ArmPkg.dec
>
> --------------------------------------------------------------------------------
>
> 2) Now compile the module:
> export PACKAGES_PATH=`pwd`/edk2-platforms/
>
> --------------------------------------------------------------------------------
> build   -a AARCH64 -t GCC5 -p Platform/ARM/JunoPkg/ArmJuno.dsc -m
> Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf
>
> Processing meta-data .
> Architecture(s)  = AARCH64
> Build target     = DEBUG
> Toolchain        = GCC5
>
> Active Platform          =
> /projects/uefi/edk2-platforms/Platform/ARM/JunoPkg/ArmJuno.dsc
> Active Module            =
> /projects/uefi/edk2-platforms/Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf
> ...
>
> build.py...
>  : error F003: Output file for RAW section could not be found for
> Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf
>
> - Failed -
> Build end time: 17:44:14, Jan.28 2021
> Build total time: 00:00:04
>
> --------------------------------------------------------------------------------
>
> Can anyone help understand this behavior?
>
> Regards,
> Abhishek
>


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#70859): https://edk2.groups.io/g/devel/message/70859
Mute This Topic: https://groups.io/mt/80186004/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] Question: module compilation failure with less number of files
Posted by Michael D Kinney 3 years, 2 months ago
The rules do support an “Optional” keyword.  Does this rule format work before and after your INF change?

[Rule.Common.USER_DEFINED.ACPITABLE]
  FILE FREEFORM = $(NAMED_GUID) {
    RAW ACPI Optional               |.acpi
    RAW ASL Optional                |.aml
  }

Mike

From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Abhishek Shah via groups.io
Sent: Thursday, January 28, 2021 10:17 AM
To: devel@edk2.groups.io
Cc: Vladimir Olovyannikov <vladimir.olovyannikov@broadcom.com>
Subject: Re: [edk2-devel] Question: module compilation failure with less number of files

I got an answer based on the other question I had posted.
I think "Rule" provided for given inf (using RuleOverride) forces certain files to be present:

[Rule.Common.USER_DEFINED.ACPITABLE]
  FILE FREEFORM = $(NAMED_GUID) {
    RAW ACPI               |.acpi
    RAW ASL                |.aml
  }

So, in this case, for given inf module, if either of .acpi or .aml file is not generated,
then below kind of error shows up:

: error F003: Output file for RAW section could not be found for Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf

Regards,
Abhishek

On Thu, Jan 28, 2021 at 5:47 PM Abhishek Shah <abhishek.shah@broadcom.com<mailto:abhishek.shah@broadcom.com>> wrote:
Hi All,

I am trying to compile some ACPI tables, and I observed that
if I specify less minimal tables/asl as Sources for ACPI tables module INF file
(resulting in less size of overall module), compilation fails with below error:

build.py...
 : error F003: Output file for RAW section could not be found for Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf

To reproduce this issue,
1) Apply below patch (just keeping Fadt.c here as example;
Other ways: just keep ASL file after removing some objects to reduce file size; or keep combination of .c and .asl files - **as long as these files are small**):
--------------------------------------------------------------------------------
diff --git a/Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf b/Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf
index f140febc4a..1a489a0a8a 100644
--- a/Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf
+++ b/Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf
@@ -16,13 +16,8 @@
   VERSION_STRING                 = 1.0

 [Sources]
-  Dsdt.asl
-  Dbg2.aslc
-  Spcr.aslc
   Fadt.aslc
-  Gtdt.aslc
   Madt.aslc
-  AcpiSsdtRootPci.asl          # Juno R1 specific

 [Packages]
   ArmPkg/ArmPkg.dec
--------------------------------------------------------------------------------

2) Now compile the module:
export PACKAGES_PATH=`pwd`/edk2-platforms/
--------------------------------------------------------------------------------
build   -a AARCH64 -t GCC5 -p Platform/ARM/JunoPkg/ArmJuno.dsc -m Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf

Processing meta-data .
Architecture(s)  = AARCH64
Build target     = DEBUG
Toolchain        = GCC5

Active Platform          = /projects/uefi/edk2-platforms/Platform/ARM/JunoPkg/ArmJuno.dsc
Active Module            = /projects/uefi/edk2-platforms/Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf
...

build.py...
 : error F003: Output file for RAW section could not be found for Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf

- Failed -
Build end time: 17:44:14, Jan.28 2021
Build total time: 00:00:04
--------------------------------------------------------------------------------

Can anyone help understand this behavior?

Regards,
Abhishek



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#70861): https://edk2.groups.io/g/devel/message/70861
Mute This Topic: https://groups.io/mt/80186004/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] Question: module compilation failure with less number of files
Posted by Abhishek Shah via groups.io 3 years, 2 months ago
Yes, given rule format with “Optional” keyword works before and after my INF change.

Regards,
Abhishek


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#70862): https://edk2.groups.io/g/devel/message/70862
Mute This Topic: https://groups.io/mt/80186004/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-