Bug 1395 - emenlow build throws error due to duplicate providers of mesa-dri
Summary: emenlow build throws error due to duplicate providers of mesa-dri
Status: RESOLVED FIXED
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: graphics (show other bugs)
Version: unspecified
Hardware: x86 Multiple
: High normal
Target Milestone: 1.2
Assignee: Ke Yu
QA Contact:
URL:
Whiteboard: Patch sent out. Aug 28
Depends on:
Blocks:
 
Reported: 2011-08-23 09:14 UTC by Beth Flanagan
Modified: 2011-08-28 17:40 UTC (History)
6 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Beth Flanagan 2011-08-23 09:14:20 UTC
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.
Comment 1 Darren Hart 2011-08-23 09:22:32 UTC
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?
Comment 2 Tom Zanussi 2011-08-23 09:23:55 UTC
is this only on lsb builds?
Comment 3 Tom Zanussi 2011-08-23 13:31:56 UTC
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.
Comment 4 Darren Hart 2011-08-23 16:11:48 UTC
(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?
Comment 5 Ke Yu 2011-08-23 18:06:12 UTC
(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).
Comment 6 Tom Zanussi 2011-08-23 18:22:29 UTC
(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?
Comment 7 Ke Yu 2011-08-28 02:15:45 UTC
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.
Comment 8 Ke Yu 2011-08-28 04:03:40 UTC
To fix it,  xpsb should provide split package libglu, the same as what mesa-dri does