Patchwork perf: Disable warnings as errors for kernels 3.1+

login
register
mail settings
Submitter Konrad Scherer
Date Nov. 7, 2013, 6:36 p.m.
Message ID <1383849386-7680-2-git-send-email-konrad.scherer@windriver.com>
Download mbox | patch
Permalink /patch/61285/
State New
Headers show

Comments

Konrad Scherer - Nov. 7, 2013, 6:36 p.m.
From: Konrad Scherer <Konrad.Scherer@windriver.com>

Turns out the sed command has not been working as intended since
kernel 3.1 due to the trailing space. Adding the WERROR=0 environment
variable is the correct way to disable warnings as errors.

Signed-off-by: Konrad Scherer <Konrad.Scherer@windriver.com>
---
 meta/recipes-kernel/perf/perf.bb | 4 ++++
 1 file changed, 4 insertions(+)
Saul Wold - Nov. 7, 2013, 11:16 p.m.
On 11/07/2013 10:36 AM, Konrad Scherer wrote:
> From: Konrad Scherer <Konrad.Scherer@windriver.com>
>
> Turns out the sed command has not been working as intended since
> kernel 3.1 due to the trailing space. Adding the WERROR=0 environment
> variable is the correct way to disable warnings as errors.
>
So, I recently saw this failure:

ERROR: Logfile of failure stored in: 
/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-x86-64/build/build/tmp/work/genericx86_64-poky-linux/perf/1.0-r8/temp/log.do_configure.12897
Log data follows:
| DEBUG: Executing python function sysroot_cleansstate
| DEBUG: Python function sysroot_cleansstate finished
| DEBUG: Executing shell function do_configure
| sed: can't read 
/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-x86-64/build/build/tmp/sysroots/genericx86-64/usr/src/kernel/tools/perf/Makefile: 
No such file or directory
| WARNING: 
/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-x86-64/build/build/tmp/work/genericx86_64-poky-linux/perf/1.0-r8/temp/run.do_configure.12897:1 
exit 2 from
|   sed -i 's,-Werror ,,' 
/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-x86-64/build/build/tmp/sysroots/genericx86-64/usr/src/kernel/tools/perf/Makefile
| ERROR: Function failed: do_configure (log file is located at 
/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-x86-64/build/build/tmp/work/genericx86_64-poky-linux/perf/1.0-r8/temp/log.do_configure.12897)
NOTE: recipe perf-1.0-r8: task do_configure: Failed
ERROR: Task 3469 
(/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-x86-64/build/meta/recipes-kernel/perf/perf.bb, 
do_configure) failed with exit code '1'

I am not sure that your patch will completely address this failure.

Sau!


> Signed-off-by: Konrad Scherer <Konrad.Scherer@windriver.com>
> ---
>   meta/recipes-kernel/perf/perf.bb | 4 ++++
>   1 file changed, 4 insertions(+)
>
> diff --git a/meta/recipes-kernel/perf/perf.bb b/meta/recipes-kernel/perf/perf.bb
> index 903ffa6..6258cbb 100644
> --- a/meta/recipes-kernel/perf/perf.bb
> +++ b/meta/recipes-kernel/perf/perf.bb
> @@ -41,6 +41,9 @@ export STAGING_LIBDIR
>   export BUILD_SYS
>   export HOST_SYS
>
> +#kernel 3.1+ supports WERROR to disable warnings as errors
> +export WERROR = "0"
> +
>   do_populate_lic[depends] += "virtual/kernel:do_populate_sysroot"
>
>   # needed for building the tools/perf Perl binding
> @@ -115,6 +118,7 @@ do_install() {
>   }
>
>   do_configure_prepend () {
> +    #kernels before 3.1 do not support WERROR env variable
>       sed -i 's,-Werror ,,' ${S}/tools/perf/Makefile
>   }
>
>
Konrad Scherer - Nov. 8, 2013, 2:59 a.m.
On 13-11-07 06:16 PM, Saul Wold wrote:
> On 11/07/2013 10:36 AM, Konrad Scherer wrote:
>> From: Konrad Scherer <Konrad.Scherer@windriver.com>
>>
>> Turns out the sed command has not been working as intended since
>> kernel 3.1 due to the trailing space. Adding the WERROR=0 environment
>> variable is the correct way to disable warnings as errors.
>>
> So, I recently saw this failure:
>
> ERROR: Logfile of failure stored in:
> /home/pokybuild/yocto-autobuilder/yocto-slave/nightly-x86-64/build/build/tmp/work/genericx86_64-poky-linux/perf/1.0-r8/temp/log.do_configure.12897
>
> Log data follows:
> | DEBUG: Executing python function sysroot_cleansstate
> | DEBUG: Python function sysroot_cleansstate finished
> | DEBUG: Executing shell function do_configure
> | sed: can't read
> /home/pokybuild/yocto-autobuilder/yocto-slave/nightly-x86-64/build/build/tmp/sysroots/genericx86-64/usr/src/kernel/tools/perf/Makefile:
> No such file or directory
> | WARNING:
> /home/pokybuild/yocto-autobuilder/yocto-slave/nightly-x86-64/build/build/tmp/work/genericx86_64-poky-linux/perf/1.0-r8/temp/run.do_configure.12897:1
> exit 2 from
> |   sed -i 's,-Werror ,,'
> /home/pokybuild/yocto-autobuilder/yocto-slave/nightly-x86-64/build/build/tmp/sysroots/genericx86-64/usr/src/kernel/tools/perf/Makefile
>
> | ERROR: Function failed: do_configure (log file is located at
> /home/pokybuild/yocto-autobuilder/yocto-slave/nightly-x86-64/build/build/tmp/work/genericx86_64-poky-linux/perf/1.0-r8/temp/log.do_configure.12897)
>
> NOTE: recipe perf-1.0-r8: task do_configure: Failed
> ERROR: Task 3469
> (/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-x86-64/build/meta/recipes-kernel/perf/perf.bb,
> do_configure) failed with exit code '1'
>
> I am not sure that your patch will completely address this failure.

Hmm, I have not seen that failure. The build failure my patch is 
addressing was a "warning as error" compile failure. If the sed command 
was moved before the call to make, that should resolve this build 
failure as well. Should I rework the patch?

Patch

diff --git a/meta/recipes-kernel/perf/perf.bb b/meta/recipes-kernel/perf/perf.bb
index 903ffa6..6258cbb 100644
--- a/meta/recipes-kernel/perf/perf.bb
+++ b/meta/recipes-kernel/perf/perf.bb
@@ -41,6 +41,9 @@  export STAGING_LIBDIR
 export BUILD_SYS
 export HOST_SYS
 
+#kernel 3.1+ supports WERROR to disable warnings as errors
+export WERROR = "0"
+
 do_populate_lic[depends] += "virtual/kernel:do_populate_sysroot"
 
 # needed for building the tools/perf Perl binding
@@ -115,6 +118,7 @@  do_install() {
 }
 
 do_configure_prepend () {
+    #kernels before 3.1 do not support WERROR env variable
     sed -i 's,-Werror ,,' ${S}/tools/perf/Makefile
 }