Hi guys,
There was some complaints about shortcomings of EDK2 build system, like "make clean" doesn't work correct, dependency checking is lame, etc. It would be really great to collect here all inputs with explanations (or steps how to reproduce). So if you happened to notice that something is wrong with EDK2 build system -- please provide this information here. I also don't really understand what is wrong with clean scripts and dependency checking (just heard complaints without explanations), so if you know any details -- please provide it here as well.
Once I have enough inputs I will solicit feedback from the community and will try to upstream fixes.
Thanks!
On Fri, Apr 11, 2014 at 8:45 AM, Sam Protsenko semen.protsenko@linaro.orgwrote:
Hi guys,
There was some complaints about shortcomings of EDK2 build system, like "make clean" doesn't work correct, dependency checking is lame, etc. It would be really great to collect here all inputs with explanations (or steps how to reproduce). So if you happened to notice that something is wrong with EDK2 build system -- please provide this information here. I also don't really understand what is wrong with clean scripts and dependency checking (just heard complaints without explanations), so if you know any details -- please provide it here as well.
Hi Sam,
I have been bitten by the 'clean' problems. A build would not complete until I used a 'git clean' command to get rid of generated files - the UEFI build system clean did not adequately clean up. I don't recall the specifics, but I will take notes the next time I hit this.
Roy
Once I have enough inputs I will solicit feedback from the community and will try to upstream fixes.
Thanks!
Linaro-uefi mailing list Linaro-uefi@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-uefi
Roy,
I figured that in addition to "clean" EDK2 has also "cleanall" rule and it seems the last one works just fine. I built EDK2 and then tried to clean it as follows:
<------------------- cut here -------------------> arch=ARM build=DEBUG tc=ARMLINUXGCC plat=ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15.dsc
build -a $arch -b $build -t $tc -p $plat cleanall make clean -C BaseTools <------------------- cut here ------------------->
So you can see it's only 2 commands involved, firs for cleaning platform files and second for cleaning BaseTools. After that almost all built files were removed. In fact, I only have next not removed files after "cleanall":
+├── Build +│ └── ArmVExpress-RTSM-A15 ├── Conf +│ ├── BuildEnv.sh +│ ├── build_rule.txt +│ ├── target.txt +│ └── tools_def.txt
Can you confirm if this method works for you?
On 11 April 2014 21:44, Roy Franz roy.franz@linaro.org wrote:
On Fri, Apr 11, 2014 at 8:45 AM, Sam Protsenko semen.protsenko@linaro.org wrote:
Hi guys,
There was some complaints about shortcomings of EDK2 build system, like "make clean" doesn't work correct, dependency checking is lame, etc. It would be really great to collect here all inputs with explanations (or steps how to reproduce). So if you happened to notice that something is wrong with EDK2 build system -- please provide this information here. I also don't really understand what is wrong with clean scripts and dependency checking (just heard complaints without explanations), so if you know any details -- please provide it here as well.
Hi Sam,
I have been bitten by the 'clean' problems. A build would not complete until I used a 'git clean' command to get rid of generated files - the UEFI build system clean did not adequately clean up. I don't recall the specifics, but I will take notes the next time I hit this.
Roy
Once I have enough inputs I will solicit feedback from the community and will try to upstream fixes.
Thanks!
Linaro-uefi mailing list Linaro-uefi@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-uefi
I will try that. Since I can't recreate the bad setup, it will be hard to confirm the this fixes it. On Apr 18, 2014 9:43 AM, "Sam Protsenko" semen.protsenko@linaro.org wrote:
Roy,
I figured that in addition to "clean" EDK2 has also "cleanall" rule and it seems the last one works just fine. I built EDK2 and then tried to clean it as follows:
<------------------- cut here -------------------> arch=ARM build=DEBUG tc=ARMLINUXGCC plat=ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15.dsc
build -a $arch -b $build -t $tc -p $plat cleanall make clean -C BaseTools <------------------- cut here ------------------->
So you can see it's only 2 commands involved, firs for cleaning platform files and second for cleaning BaseTools. After that almost all built files were removed. In fact, I only have next not removed files after "cleanall":
+├── Build +│ └── ArmVExpress-RTSM-A15 ├── Conf +│ ├── BuildEnv.sh +│ ├── build_rule.txt +│ ├── target.txt +│ └── tools_def.txt
Can you confirm if this method works for you?
On 11 April 2014 21:44, Roy Franz roy.franz@linaro.org wrote:
On Fri, Apr 11, 2014 at 8:45 AM, Sam Protsenko <
semen.protsenko@linaro.org>
wrote:
Hi guys,
There was some complaints about shortcomings of EDK2 build system, like "make clean" doesn't work correct, dependency checking is lame, etc. It would be really great to collect here all inputs with explanations (or
steps
how to reproduce). So if you happened to notice that something is wrong
with
EDK2 build system -- please provide this information here. I also don't really understand what is wrong with clean scripts and dependency
checking
(just heard complaints without explanations), so if you know any
details --
please provide it here as well.
Hi Sam,
I have been bitten by the 'clean' problems. A build would not
complete
until I used a 'git clean' command to get rid of generated files - the
UEFI
build system clean did not adequately clean up. I don't recall the specifics, but I will take notes the next time I hit this.
Roy
Once I have enough inputs I will solicit feedback from the community and will try to upstream fixes.
Thanks!
Linaro-uefi mailing list Linaro-uefi@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-uefi
Hi Roy and Sam,
I will give this a go while testing release builds and intermediate builds. I usually cd into BaseTools, command a 'make clean' and remove the Build folder, for all targets, or a specific target I am rebuilding.
BR,
Steve
On 18 April 2014 11:49, Roy Franz roy.franz@linaro.org wrote:
I will try that. Since I can't recreate the bad setup, it will be hard to confirm the this fixes it. On Apr 18, 2014 9:43 AM, "Sam Protsenko" semen.protsenko@linaro.org wrote:
Roy,
I figured that in addition to "clean" EDK2 has also "cleanall" rule and it seems the last one works just fine. I built EDK2 and then tried to clean it as follows:
<------------------- cut here -------------------> arch=ARM build=DEBUG tc=ARMLINUXGCC plat=ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15.dsc
build -a $arch -b $build -t $tc -p $plat cleanall make clean -C BaseTools <------------------- cut here ------------------->
So you can see it's only 2 commands involved, firs for cleaning platform files and second for cleaning BaseTools. After that almost all built files were removed. In fact, I only have next not removed files after "cleanall":
+├── Build +│ └── ArmVExpress-RTSM-A15 ├── Conf +│ ├── BuildEnv.sh +│ ├── build_rule.txt +│ ├── target.txt +│ └── tools_def.txt
Can you confirm if this method works for you?
On 11 April 2014 21:44, Roy Franz roy.franz@linaro.org wrote:
On Fri, Apr 11, 2014 at 8:45 AM, Sam Protsenko <
semen.protsenko@linaro.org>
wrote:
Hi guys,
There was some complaints about shortcomings of EDK2 build system, like "make clean" doesn't work correct, dependency checking is lame, etc. It would be really great to collect here all inputs with explanations (or
steps
how to reproduce). So if you happened to notice that something is
wrong with
EDK2 build system -- please provide this information here. I also don't really understand what is wrong with clean scripts and dependency
checking
(just heard complaints without explanations), so if you know any
details --
please provide it here as well.
Hi Sam,
I have been bitten by the 'clean' problems. A build would not
complete
until I used a 'git clean' command to get rid of generated files - the
UEFI
build system clean did not adequately clean up. I don't recall the specifics, but I will take notes the next time I hit this.
Roy
Once I have enough inputs I will solicit feedback from the community
and
will try to upstream fixes.
Thanks!
Linaro-uefi mailing list Linaro-uefi@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-uefi
Linaro-uefi mailing list Linaro-uefi@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-uefi
Thanks for the input guys. More feedback from others would be very useful so please take a few moments to write Sam.
anmar
On 18 April 2014 14:51, Steven Kinney steven.kinney@linaro.org wrote:
Hi Roy and Sam,
I will give this a go while testing release builds and
intermediate builds. I usually cd into BaseTools, command a 'make clean' and remove the Build folder, for all targets, or a specific target I am rebuilding.
Thanks for the feedback guys much appreciated. More findings from others are also appreciated
anmar
On 04/21/2014 09:46 AM, Anmar Oueja wrote:
Thanks for the input guys. More feedback from others would be very useful so please take a few moments to write Sam.
anmar
On 18 April 2014 14:51, Steven Kinney steven.kinney@linaro.org wrote:
Hi Roy and Sam,
I will give this a go while testing release builds and
intermediate builds. I usually cd into BaseTools, command a 'make clean' and remove the Build folder, for all targets, or a specific target I am rebuilding.
Thanks for the feedback guys much appreciated. More findings from others are also appreciated
anmar
Linaro-uefi mailing list Linaro-uefi@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-uefi
Hrm. So am I supposed to be using a Makefile or uefi-build.sh? I thought it was the latter. Regardless, I too run into the problems with not being able to clean things properly. If I'm using uefi-build.sh, perhaps something like this:
./uefi-build.sh -b CLEAN mymachine
If we're supposed to be using a Makefile, is it in the git tree? I don't see it on cloning.
Hi Al,
I modified the uefi-tools.sh to support a cleaning of the build(s); this is a non-selective way to completely clean the build artifacts. I am testing right now and will push this to the repository so that Ryan can make it better :). I simply wanted to get something that would make sure the build(s) are completely clean and this does the trick. All you have to do is run $uefi-tools -c {--clean} and you are done. I thought I would take the first stab at this.
BR,
Steve
On 21 April 2014 11:27, Al Stone al.stone@linaro.org wrote:
On 04/21/2014 09:46 AM, Anmar Oueja wrote:
Thanks for the input guys. More feedback from others would be very useful so please take a few moments to write Sam.
anmar
On 18 April 2014 14:51, Steven Kinney steven.kinney@linaro.org wrote:
Hi Roy and Sam,
I will give this a go while testing release builds and
intermediate builds. I usually cd into BaseTools, command a 'make clean' and remove the Build folder, for all targets, or a specific target I am rebuilding.
Thanks for the feedback guys much appreciated. More findings from others are also appreciated
anmar
Linaro-uefi mailing list Linaro-uefi@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-uefi
Hrm. So am I supposed to be using a Makefile or uefi-build.sh? I thought it was the latter. Regardless, I too run into the problems with not being able to clean things properly. If I'm using uefi-build.sh, perhaps something like this:
./uefi-build.sh -b CLEAN mymachine
If we're supposed to be using a Makefile, is it in the git tree? I don't see it on cloning.
-- ciao, al
Al Stone Software Engineer Linaro Enterprise Group al.stone@linaro.org
Linaro-uefi mailing list Linaro-uefi@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-uefi
BTW, I'll ping when I have finished testing the clean option and when the modification has been pushed. Need you all to see if this fixes any issues you are seeing regarding clean(s).
Thanks,
Steve
On 21 April 2014 14:37, Steven Kinney steven.kinney@linaro.org wrote:
Hi Al,
I modified the uefi-tools.sh to support a cleaning of the
build(s); this is a non-selective way to completely clean the build artifacts. I am testing right now and will push this to the repository so that Ryan can make it better :). I simply wanted to get something that would make sure the build(s) are completely clean and this does the trick. All you have to do is run $uefi-tools -c {--clean} and you are done. I thought I would take the first stab at this.
BR,
Steve
On 21 April 2014 11:27, Al Stone al.stone@linaro.org wrote:
On 04/21/2014 09:46 AM, Anmar Oueja wrote:
Thanks for the input guys. More feedback from others would be very useful so please take a few moments to write Sam.
anmar
On 18 April 2014 14:51, Steven Kinney steven.kinney@linaro.org wrote:
Hi Roy and Sam,
I will give this a go while testing release builds and
intermediate builds. I usually cd into BaseTools, command a 'make clean' and remove the Build folder, for all targets, or a specific target I am rebuilding.
Thanks for the feedback guys much appreciated. More findings from others are also appreciated
anmar
Linaro-uefi mailing list Linaro-uefi@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-uefi
Hrm. So am I supposed to be using a Makefile or uefi-build.sh? I thought it was the latter. Regardless, I too run into the problems with not being able to clean things properly. If I'm using uefi-build.sh, perhaps something like this:
./uefi-build.sh -b CLEAN mymachine
If we're supposed to be using a Makefile, is it in the git tree? I don't see it on cloning.
-- ciao, al
Al Stone Software Engineer Linaro Enterprise Group al.stone@linaro.org
Linaro-uefi mailing list Linaro-uefi@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-uefi
On 21 April 2014 17:27, Al Stone al.stone@linaro.org wrote:
On 04/21/2014 09:46 AM, Anmar Oueja wrote:
Thanks for the input guys. More feedback from others would be very useful so please take a few moments to write Sam.
anmar
On 18 April 2014 14:51, Steven Kinney steven.kinney@linaro.org wrote:
Hi Roy and Sam,
I will give this a go while testing release builds and
intermediate builds. I usually cd into BaseTools, command a 'make clean' and remove the Build folder, for all targets, or a specific target I am rebuilding.
Thanks for the feedback guys much appreciated. More findings from others are also appreciated
anmar
Linaro-uefi mailing list Linaro-uefi@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-uefi
Hrm. So am I supposed to be using a Makefile or uefi-build.sh? I thought it was the latter. Regardless, I too run into the problems with not being able to clean things properly. If I'm using uefi-build.sh, perhaps something like this:
./uefi-build.sh -b CLEAN mymachine
If we're supposed to be using a Makefile, is it in the git tree? I don't see it on cloning.
Olivier added a Makefile in commit e349327f back in Sept 2012:
./ArmPlatformPkg/Scripts/Makefile
... but that isn't the one referenced here.
The BaseTools has always used a Makefile, but we've hidden it inside uefi-build.sh.
And I completely agree that adding a clean option to uefi-build.sh would be a great idea!
Thanks for inputs, guys. I forgot to mention that I work on original EDK2 code, so it's not about Linaro build script, I'm just trying to make some improvements to build system that can be upstreamed.
Have another question: I heard about weak dependency checking in UEFI build system. Could anybody provide any details on it? I mean, how to reproduce it, how it supposed to work etc?
On 22 April 2014 15:26, Ryan Harkin ryan.harkin@linaro.org wrote:
On 21 April 2014 17:27, Al Stone al.stone@linaro.org wrote:
On 04/21/2014 09:46 AM, Anmar Oueja wrote:
Thanks for the input guys. More feedback from others would be very useful so please take a few moments to write Sam.
anmar
On 18 April 2014 14:51, Steven Kinney steven.kinney@linaro.org wrote:
Hi Roy and Sam,
I will give this a go while testing release builds and
intermediate builds. I usually cd into BaseTools, command a 'make clean' and remove the Build folder, for all targets, or a specific target I am rebuilding.
Thanks for the feedback guys much appreciated. More findings from others are also appreciated
anmar
Linaro-uefi mailing list Linaro-uefi@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-uefi
Hrm. So am I supposed to be using a Makefile or uefi-build.sh? I thought it was the latter. Regardless, I too run into the problems with not being able to clean things properly. If I'm using uefi-build.sh, perhaps something like this:
./uefi-build.sh -b CLEAN mymachine
If we're supposed to be using a Makefile, is it in the git tree? I don't see it on cloning.
Olivier added a Makefile in commit e349327f back in Sept 2012:
./ArmPlatformPkg/Scripts/Makefile
... but that isn't the one referenced here.
The BaseTools has always used a Makefile, but we've hidden it inside uefi-build.sh.
And I completely agree that adding a clean option to uefi-build.sh would be a great idea!
Linaro-uefi mailing list Linaro-uefi@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-uefi
Hi Sam,
The changes to uefi-tools would simply leverage build facilities already available in the upstream Tianocore. I the clean is correctly facilitated from this script, nothing needs to be modified regarding Tianocore proper. Hope this helps :).
-Steve
On 23 April 2014 08:39, Sam Protsenko semen.protsenko@linaro.org wrote:
Thanks for inputs, guys. I forgot to mention that I work on original EDK2 code, so it's not about Linaro build script, I'm just trying to make some improvements to build system that can be upstreamed.
Have another question: I heard about weak dependency checking in UEFI build system. Could anybody provide any details on it? I mean, how to reproduce it, how it supposed to work etc?
On 22 April 2014 15:26, Ryan Harkin ryan.harkin@linaro.org wrote:
On 21 April 2014 17:27, Al Stone al.stone@linaro.org wrote:
On 04/21/2014 09:46 AM, Anmar Oueja wrote:
Thanks for the input guys. More feedback from others would be very useful so please take a few moments to write Sam.
anmar
On 18 April 2014 14:51, Steven Kinney steven.kinney@linaro.org
wrote:
Hi Roy and Sam,
I will give this a go while testing release builds and
intermediate builds. I usually cd into BaseTools, command a 'make clean' and remove the Build folder, for all targets, or a specific target I
am
rebuilding.
Thanks for the feedback guys much appreciated. More findings from others are also appreciated
anmar
Linaro-uefi mailing list Linaro-uefi@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-uefi
Hrm. So am I supposed to be using a Makefile or uefi-build.sh? I thought it was the latter. Regardless, I too run into the problems with not being able to clean things properly. If I'm using uefi-build.sh, perhaps something like this:
./uefi-build.sh -b CLEAN mymachine
If we're supposed to be using a Makefile, is it in the git tree? I don't see it on cloning.
Olivier added a Makefile in commit e349327f back in Sept 2012:
./ArmPlatformPkg/Scripts/Makefile
... but that isn't the one referenced here.
The BaseTools has always used a Makefile, but we've hidden it inside uefi-build.sh.
And I completely agree that adding a clean option to uefi-build.sh would
be
a great idea!
Linaro-uefi mailing list Linaro-uefi@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-uefi
Linaro-uefi mailing list Linaro-uefi@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-uefi