Patchwork [dora,regression] mesa failed to build

login
register
mail settings
Submitter Ronaldo Nunez
Date April 8, 2014, 12:12 p.m.
Message ID <CALTF=oKRfJt=0_9vEnzYdvw0Awhw2pp3Rqs_U7qtE+PbnDw+Hg@mail.gmail.com>
Download mbox | patch
Permalink /patch/70273/
State Rejected
Delegated to: Otavio Salvador
Headers show

Comments

Ronaldo Nunez - April 8, 2014, 12:12 p.m.
Hi Pierluigi,

I tried another approach.. As you can see the task do_isntall_append()
checks for 'egl' in PACKAGECONFIG  variable. Well, I removed the 'egl'
word from PACKAGECONFIG in dora bbappend, once the 'egl' is no more
enabled in meta-fsl-arm.

Please, also check my patch (attached to this message). I don't know
if it is the best solution, but is, at least, a new approach to solve
the issue.

Thanks in advance,

Ronaldo

2014-04-08 8:13 GMT-03:00, Pierluigi Passaro
<pierluigi.passaro@phoenixsoftware.it>:
> Otavio Salvador <otavio@...> wrote:
>> Hello,
>>
>> In one of our custom BSPs we saw a build failure in mesa:
>>
>> |/  make[1]: Leaving directory
>> /`.../build/tmp/work/cortexa9hf-vfp-neon-mx6-oel-linux-gnueabi/mesa/2_9.1.6-r0/build'
>> |/  sed: can't read
>> /.../build/tmp/work/cortexa9hf-vfp-neon-mx6-oel-linux-gnueabi/mesa/2_9.1.6-r0/image/usr/include/EGL/eglplatform.h:
>> No such file or directory
>> |/  WARNING: exit code 2 from a shell command.
>> /|/  ERROR: Function failed: do_install (log file is located at
>> /.../build/tmp/work/cortexa9hf-vfp-neon-mx6-oel-linux-gnueabi/mesa/2_9.1.6-r0/temp/log.do_install.17155)
>> recipe mesa-2_9.1.6-r0: task do_install: Failed
>> ERROR: Task 2643
>> (.../sources/poky/meta/recipes-graphics/mesa/mesa_9.1.6.bb,
>> do_install) failed with exit code '1'
>> recipe gnutls-2.12.23-r8.4: task do_configure: Succeeded
>>
>> This seems not related to the bbappend we have in meta-fsl-arm[1], in
>> Dora. I think this came in today's changes in the branch.
>>
>> 1.http://git.yoctoproject.org/cgit/cgit.cgi/meta-fsl-arm/tree/recipes-graphics/mesa/mesa_9.1.6.bbappend?h=dora
>>
>> This builder has PRServer enabled.
>>
>> As I am going to be traveling so won't have time to debug this bug I
>> preferred to report it so someone can debug.
>>
>> --
>> Otavio Salvador                             O.S. Systems
>> http://www.ossystems.com.br         http://code.ossystems.com.br
>> Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750
>> ------------------------------------------------------------------------
>
> Hi all,
> it looks like that the problem raised upon the following commit on dora
> branch of poky:
>
> http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?h=dora&id=d04d0c07355b40dc2f2f71548526d9bb74147fbb
>
> The commit changed the way the eglplatform.h is patched, however this
> file is not available for iMX6: in dora the bbappend we have in
> meta-fsl-arm disable the egl support.
>
> IMHO, there are two possible solutions:
> 1) check the the file presence before calling the "sed" command
> 2) call the "sed" command on the original file before install it
>
> Actually I'm not sure about which is the best solution, but in my case I
> just applied the following patch (solution 2) to mesa recipe:
>
> ============================================================================
>
> diff --git a/meta/recipes-graphics/mesa/mesa_9.1.6.bb
> b/meta/recipes-graphics/mesa/mesa_9.1.6.bb
> index 6e9cd82..edaf21c 100644
> --- a/meta/recipes-graphics/mesa/mesa_9.1.6.bb
> +++ b/meta/recipes-graphics/mesa/mesa_9.1.6.bb
> @@ -17,8 +17,8 @@ S = "${WORKDIR}/Mesa-${PV}"
>
>   #because we cannot rely on the fact that all apps will use pkgconfig,
>   #make eglplatform.h independent of MESA_EGL_NO_X11_HEADER
> -do_install_append() {
> +do_install_prepend() {
>       if ${@base_contains('PACKAGECONFIG', 'egl', 'true', 'false', d)};
> then
> -        sed -i -e 's/^#ifdef MESA_EGL_NO_X11_HEADERS/#if
> ${@base_contains('DISTRO_FEATURES', 'x11', '0', '1', d)}/'
> ${D}${includedir}/EGL/eglplatform.h
> +        sed -i -e 's/^#ifdef MESA_EGL_NO_X11_HEADERS/#if
> ${@base_contains('DISTRO_FEATURES', 'x11', '0', '1', d)}/'
> ${S}/include/EGL/eglplatform.h
>       fi
> -}
> \ No newline at end of file
> +}
>
> ============================================================================
>
> My two cents
>
> Best Regards
> Gigi
>
> --
> Pierluigi Passaro
> U-MoBo team
> Linux / Android Division
> Mobile: +39 348 355 4119
> website:  http://www.u-mobo.com/
>
> --
> _______________________________________________
> meta-freescale mailing list
> meta-freescale@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-freescale
>
Pierluigi Passaro - April 8, 2014, 4:06 p.m.
Hi Ronaldo,
thanks for your patch, it looks more elegant than mine ;)

I tested it and works fine.
Could you please push it on dora branch?

Thanks
Regards
Gigi

On 08/04/2014 14:12, Ronaldo Nunez wrote:
> Hi Pierluigi,
>
> I tried another approach.. As you can see the task do_isntall_append()
> checks for 'egl' in PACKAGECONFIG  variable. Well, I removed the 'egl'
> word from PACKAGECONFIG in dora bbappend, once the 'egl' is no more
> enabled in meta-fsl-arm.
>
> Please, also check my patch (attached to this message). I don't know
> if it is the best solution, but is, at least, a new approach to solve
> the issue.
>
> Thanks in advance,
>
> Ronaldo
>
> 2014-04-08 8:13 GMT-03:00, Pierluigi Passaro
> <pierluigi.passaro@phoenixsoftware.it>:
>> Otavio Salvador <otavio@...> wrote:
>>> Hello,
>>>
>>> In one of our custom BSPs we saw a build failure in mesa:
>>>
>>> |/  make[1]: Leaving directory
>>> /`.../build/tmp/work/cortexa9hf-vfp-neon-mx6-oel-linux-gnueabi/mesa/2_9.1.6-r0/build'
>>> |/  sed: can't read
>>> /.../build/tmp/work/cortexa9hf-vfp-neon-mx6-oel-linux-gnueabi/mesa/2_9.1.6-r0/image/usr/include/EGL/eglplatform.h:
>>> No such file or directory
>>> |/  WARNING: exit code 2 from a shell command.
>>> /|/  ERROR: Function failed: do_install (log file is located at
>>> /.../build/tmp/work/cortexa9hf-vfp-neon-mx6-oel-linux-gnueabi/mesa/2_9.1.6-r0/temp/log.do_install.17155)
>>> recipe mesa-2_9.1.6-r0: task do_install: Failed
>>> ERROR: Task 2643
>>> (.../sources/poky/meta/recipes-graphics/mesa/mesa_9.1.6.bb,
>>> do_install) failed with exit code '1'
>>> recipe gnutls-2.12.23-r8.4: task do_configure: Succeeded
>>>
>>> This seems not related to the bbappend we have in meta-fsl-arm[1], in
>>> Dora. I think this came in today's changes in the branch.
>>>
>>> 1.http://git.yoctoproject.org/cgit/cgit.cgi/meta-fsl-arm/tree/recipes-graphics/mesa/mesa_9.1.6.bbappend?h=dora
>>>
>>> This builder has PRServer enabled.
>>>
>>> As I am going to be traveling so won't have time to debug this bug I
>>> preferred to report it so someone can debug.
>>>
>>> --
>>> Otavio Salvador                             O.S. Systems
>>> http://www.ossystems.com.br         http://code.ossystems.com.br
>>> Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750
>>> ------------------------------------------------------------------------
>> Hi all,
>> it looks like that the problem raised upon the following commit on dora
>> branch of poky:
>>
>> http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?h=dora&id=d04d0c07355b40dc2f2f71548526d9bb74147fbb
>>
>> The commit changed the way the eglplatform.h is patched, however this
>> file is not available for iMX6: in dora the bbappend we have in
>> meta-fsl-arm disable the egl support.
>>
>> IMHO, there are two possible solutions:
>> 1) check the the file presence before calling the "sed" command
>> 2) call the "sed" command on the original file before install it
>>
>> Actually I'm not sure about which is the best solution, but in my case I
>> just applied the following patch (solution 2) to mesa recipe:
>>
>> ============================================================================
>>
>> diff --git a/meta/recipes-graphics/mesa/mesa_9.1.6.bb
>> b/meta/recipes-graphics/mesa/mesa_9.1.6.bb
>> index 6e9cd82..edaf21c 100644
>> --- a/meta/recipes-graphics/mesa/mesa_9.1.6.bb
>> +++ b/meta/recipes-graphics/mesa/mesa_9.1.6.bb
>> @@ -17,8 +17,8 @@ S = "${WORKDIR}/Mesa-${PV}"
>>
>>    #because we cannot rely on the fact that all apps will use pkgconfig,
>>    #make eglplatform.h independent of MESA_EGL_NO_X11_HEADER
>> -do_install_append() {
>> +do_install_prepend() {
>>        if ${@base_contains('PACKAGECONFIG', 'egl', 'true', 'false', d)};
>> then
>> -        sed -i -e 's/^#ifdef MESA_EGL_NO_X11_HEADERS/#if
>> ${@base_contains('DISTRO_FEATURES', 'x11', '0', '1', d)}/'
>> ${D}${includedir}/EGL/eglplatform.h
>> +        sed -i -e 's/^#ifdef MESA_EGL_NO_X11_HEADERS/#if
>> ${@base_contains('DISTRO_FEATURES', 'x11', '0', '1', d)}/'
>> ${S}/include/EGL/eglplatform.h
>>        fi
>> -}
>> \ No newline at end of file
>> +}
>>
>> ============================================================================
>>
>> My two cents
>>
>> Best Regards
>> Gigi
>>
>> --
>> Pierluigi Passaro
>> U-MoBo team
>> Linux / Android Division
>> Mobile: +39 348 355 4119
>> website:  http://www.u-mobo.com/
>>
>> --
>> _______________________________________________
>> meta-freescale mailing list
>> meta-freescale@yoctoproject.org
>> https://lists.yoctoproject.org/listinfo/meta-freescale
>>

Patch

From 2157699f72a172002424e2c729cf67b1ff6342d0 Mon Sep 17 00:00:00 2001
From: Ronaldo Nunez <ronaldo.viera@gmail.com>
Date: Mon, 7 Apr 2014 12:56:52 -0300
Subject: [PATCH] mesa: patch to correct the error on do_install task in mesa
 recipe

Signed-off-by: Ronaldo Nunez <ronaldo.viera@gmail.com>
---
 recipes-graphics/mesa/mesa_9.1.6.bbappend | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/recipes-graphics/mesa/mesa_9.1.6.bbappend b/recipes-graphics/mesa/mesa_9.1.6.bbappend
index 9975abc..69be099 100644
--- a/recipes-graphics/mesa/mesa_9.1.6.bbappend
+++ b/recipes-graphics/mesa/mesa_9.1.6.bbappend
@@ -20,6 +20,16 @@  python __anonymous () {
             new_extra_oeconf.append(i)
 
         d.setVar('EXTRA_OECONF', ' '.join(new_extra_oeconf))
+	
+	# Remove egl and gles from PACKAGECONFIG
+        packageconfig = d.getVar('PACKAGECONFIG', True).split()
+        take_out = ['egl', 'gles']
+        new_packageconfig = []
+        for i in packageconfig:
+            if i not in take_out:
+                new_packageconfig.append(i)
+
+        d.setVar('PACKAGECONFIG', ' '.join(new_packageconfig))
 
         # Remove itens from provides
         provides = d.getVar('PROVIDES', True).split()
-- 
1.8.1.2