[yocto] Possible Cedartrail PVR build race

Burton, Ross ross.burton at intel.com
Thu Mar 21 02:09:42 PDT 2013


On 21 March 2013 09:01, Chris Tapp <opensource at keylevel.com> wrote:
> I think I have a build race condition for a project:
>
> 1) Using the meta-intel/cedartrail BSP;
> 2) Building under Danny 8.0;
> 3) Custom image;
> 4) Custom task;
> 5) OpenGLES application which runs under 'X'.
>
> If I do a clean build (i.e. after deleting tmp/ sstate-cache/) then my application produces 'fuzz' on the screen - some vertical strips visible, but nothing recognisable.
>
> If I then 'cleanall' the image, task and application and rebuild the image I get an image with an application that works as expected.
>
> I suspect this is something to do with some warning messages I get during the clean build:
>
> WARNING: The recipe is trying to install files into a shared area when those files already exist. Those files are:
>    /media/SSD-RAID/build-danny-cedartrail/tmp/sysroots/cedartrail/usr/include/KHR/khrplatform.h
>    /media/SSD-RAID/build-danny-cedartrail/tmp/sysroots/cedartrail/usr/include/GLES/gl.h
>    /media/SSD-RAID/build-danny-cedartrail/tmp/sysroots/cedartrail/usr/include/GLES/egl.h
>    /media/SSD-RAID/build-danny-cedartrail/tmp/sysroots/cedartrail/usr/include/GLES/glext.h
>    /media/SSD-RAID/build-danny-cedartrail/tmp/sysroots/cedartrail/usr/include/GLES/glplatform.h
>    /media/SSD-RAID/build-danny-cedartrail/tmp/sysroots/cedartrail/usr/include/EGL/egl.h
>    /media/SSD-RAID/build-danny-cedartrail/tmp/sysroots/cedartrail/usr/include/EGL/eglplatform.h
>    /media/SSD-RAID/build-danny-cedartrail/tmp/sysroots/cedartrail/usr/include/EGL/eglext.h
>    /media/SSD-RAID/build-danny-cedartrail/tmp/sysroots/cedartrail/usr/include/GLES2/gl2platform.h
>    /media/SSD-RAID/build-danny-cedartrail/tmp/sysroots/cedartrail/usr/include/GLES2/gl2.h
>    /media/SSD-RAID/build-danny-cedartrail/tmp/sysroots/cedartrail/usr/include/GLES2/gl2ext.h
>    /media/SSD-RAID/build-danny-cedartrail/tmp/sysroots/cedartrail/usr/lib/libGLESv1_CM.so
>    /media/SSD-RAID/build-danny-cedartrail/tmp/sysroots/cedartrail/usr/lib/libGLESv2.so.2
>    /media/SSD-RAID/build-danny-cedartrail/tmp/sysroots/cedartrail/usr/lib/libGLESv2.so
>    /media/SSD-RAID/build-danny-cedartrail/tmp/sysroots/cedartrail/usr/lib/libGLESv1_CM.so.1
>    /media/SSD-RAID/build-danny-cedartrail/tmp/sysroots/cedartrail/usr/lib/libEGL.so.1
>    /media/SSD-RAID/build-danny-cedartrail/tmp/sysroots/cedartrail/usr/lib/libEGL.so
>
> Is there something I can add to my image/task/application .bb to prevent this?

If you were using master you'd see some more useful output, such as
the recipes that are conflicting.  I'm 99% certain that in this case
it's pvr-cdt-driver and mesa-dri.  On CDT you really don't want
mesa-dri.

I suspect this is coming through the xserver-xorg package which
defaults to enabling GLX, which requires mesa-dri.  Inspecting your
dependency tree with depexp should confirm this.  Presumably your GLES
application is using EGL and not GLX?

I'm always forgetting the exact syntax here, but try setting
PACKAGECONFIG_pn-xserver-xorg = "udev" in your local.conf.  This
should disable the glx options, and drop the mesa-dri dependency.

Ross



More information about the yocto mailing list