Seen on the autobuilder during an lsb build. Images seem to be created, however build throws an error during the parse. http://autobuilder.yoctoproject.org:8010/builders/emenlow/builds/34/steps/shell_17/logs/stdio ERROR: Multiple .bb files are due to be built which each provide mesa-dri (/builds2/pokybuild/emenlow/build/meta/recipes-graphics/mesa/mesa-dri_7.10.2.bb /builds2/pokybuild/emenlow/build/yocto/meta-intel/meta-emenlow/recipes-graphics/xpsb-glx/xpsb-glx_0.18.bb). This usually means one provides something the other doesn't and should. ERROR: Multiple .bb files are due to be built which each provide virtual/libgl (/builds2/pokybuild/emenlow/build/meta/recipes-graphics/mesa/mesa-dri_7.10.2.bb /builds2/pokybuild/emenlow/build/yocto/meta-intel/meta-emenlow/recipes-graphics/xpsb-glx/xpsb-glx_0.18.bb). This usually means one provides something the other doesn't and should.
Perhaps adding something like the following to emenlow.conf would address the issue? PREFERRED_PROVIDER_virtual/libgl = "xpsb-glx" PREFERRED_PROVIDER_mesa-dri = "xpsb-glx" However, I think Tom is reworking the emenlow BSP and these bits are going to change anyway. Tom?
is this only on lsb builds?
The emenlow.conf machine config does have PREFERRED_PROVIDER entries for virtual/libx11 and virtual/libgl, but despite that, we still see the ERROR messages below. Also it does appear to be confined to lsb - the autobuilder logs show the other emenlow builds succeeding, and my local tests don't show these ERROR messages with anything but lsb. emenlow.conf: PREFERRED_PROVIDER_virtual/libx11 = "libx11-trim" PREFERRED_PROVIDER_virtual/libgl = "xpsb-glx" NOTE: Resolving any missing task queue dependencies NOTE: multiple providers are available for runtime libglu (mesa-dri, mesa-xlib) NOTE: consider defining a PREFERRED_PROVIDER entry to match libglu NOTE: Preparing runqueue ERROR: Multiple .bb files are due to be built which each provide virtual/libx11 (/usr/local/src/yocto/emenlow-psb/meta/recipes-graphics/xorg-lib/libx11_1.3.4.bb /usr/local/src/yocto/emenlow-psb/meta/recipes-graphics/xorg-lib/libx11-trim_1.3.4.bb). This usually means one provides something the other doesn't and should. ERROR: Multiple .bb files are due to be built which each provide mesa-dri (/usr/local/src/yocto/emenlow-psb/meta/recipes-graphics/mesa/mesa-dri_7.10.2.bb /usr/local/src/yocto/emenlow-psb/meta-intel/meta-emenlow/recipes-graphics/xpsb-glx/xpsb-glx_0.18.bb). This usually means one provides something the other doesn't and should. ERROR: Multiple .bb files are due to be built which each provide virtual/libgl (/usr/local/src/yocto/emenlow-psb/meta/recipes-graphics/mesa/mesa-dri_7.10.2.bb /usr/local/src/yocto/emenlow-psb/meta-intel/meta-emenlow/recipes-graphics/xpsb-glx/xpsb-glx_0.18.bb). This usually means one provides something the other doesn't and should.
(In reply to comment #3) > The emenlow.conf machine config does have PREFERRED_PROVIDER entries for > virtual/libx11 and virtual/libgl, but despite that, we still see the ERROR > messages below. > > Also it does appear to be confined to lsb - the autobuilder logs show the other > emenlow builds succeeding, and my local tests don't show these ERROR messages > with anything but lsb. > > emenlow.conf: > PREFERRED_PROVIDER_virtual/libx11 = "libx11-trim" > PREFERRED_PROVIDER_virtual/libgl = "xpsb-glx" > > > NOTE: Resolving any missing task queue dependencies > NOTE: multiple providers are available for runtime libglu (mesa-dri, mesa-xlib) Does this just mean that in addition to virtual/libgl we also need virtual/libglu?
(In reply to comment #4) > (In reply to comment #3) > > The emenlow.conf machine config does have PREFERRED_PROVIDER entries for > > virtual/libx11 and virtual/libgl, but despite that, we still see the ERROR > > messages below. > > > > Also it does appear to be confined to lsb - the autobuilder logs show the other > > emenlow builds succeeding, and my local tests don't show these ERROR messages > > with anything but lsb. > > > > emenlow.conf: > > PREFERRED_PROVIDER_virtual/libx11 = "libx11-trim" > > PREFERRED_PROVIDER_virtual/libgl = "xpsb-glx" > > > > > > NOTE: Resolving any missing task queue dependencies > > NOTE: multiple providers are available for runtime libglu (mesa-dri, mesa-xlib) > Does this just mean that in addition to virtual/libgl we also need > virtual/libglu? yes, it also explains why the error only show up in lsb building, that is becasue only lsb requires libglu (defined in RDEPENDS_task-core-lsb-graphic-add in task-core-lsb.bb).
(In reply to comment #5) > (In reply to comment #4) > > (In reply to comment #3) > > > The emenlow.conf machine config does have PREFERRED_PROVIDER entries for > > > virtual/libx11 and virtual/libgl, but despite that, we still see the ERROR > > > messages below. > > > > > > Also it does appear to be confined to lsb - the autobuilder logs show the other > > > emenlow builds succeeding, and my local tests don't show these ERROR messages > > > with anything but lsb. > > > > > > emenlow.conf: > > > PREFERRED_PROVIDER_virtual/libx11 = "libx11-trim" > > > PREFERRED_PROVIDER_virtual/libgl = "xpsb-glx" > > > > > > > > > NOTE: Resolving any missing task queue dependencies > > > NOTE: multiple providers are available for runtime libglu (mesa-dri, mesa-xlib) > > Does this just mean that in addition to virtual/libgl we also need > > virtual/libglu? > > yes, it also explains why the error only show up in lsb building, that is > becasue only lsb requires libglu (defined in RDEPENDS_task-core-lsb-graphic-add > in task-core-lsb.bb). Why doesn't this happen with the other BSPs, which don't have virtual/libglu either?
find the root cause: lsb image rdepends on libglu, which is provided by mesa-dri, not provided by xpsb-glx, so lsb image will build mesa-dri, besides xpsb-glx. Unfortunately, mesa-dri and xpsb-glx have conflict, because both will provide virtual/libgl. thus the ERROR message showes up. the error only happens in emenlow, because other arch does not use xpsb-glx, but use mesa-dri, so no conflict here.
To fix it, xpsb should provide split package libglu, the same as what mesa-dri does
http://git.yoctoproject.org/cgit/cgit.cgi/meta-intel/commit/?id=902d2f3c919cd1d870dc8d35a7521cbba42e53ea