| Message ID | 20260325163842.2672762-1-khem.raj@oss.qualcomm.com |
|---|---|
| State | New |
| Headers | show |
| Series | [v2] mesa-tools-native: Add dependency on libdrm-native for panfront tools | expand |
Hi Khem, On 3/25/26 5:38 PM, Khem Raj wrote: > From: Changqing Li <changqing.li@windriver.com> > > Fix do_compile failure: > ../sources/mesa-26.0.1/src/panfrost/lib/kmod/pan_kmod.c:7:10: fatal error: xf86drm.h: No such file or directory > Hold on a second. In v1 you patched mesa-tools-native and I based the whole discussion on that but the error message is actually about target mesa? You also said in v1 you're building mesa-gl so the error message is also not related. The commit title also is wrong now as you're changing mesa.inc. What's actually going on. How do I reproduce? Also mesa-26.0.1 may be **before** mesa-tools-native was even introduced. The gallium PACKAGECONFIG should bring this dependency in. If vulkan is selected, libdrm will be a required dependency and it should fail the build if we don't find it and try to build Vulkan panfrost (panvk). I'm suspecting we need to add libdrm to vulkan PACKAGECONFIG but maybe it's not required for *all* drivers (though all vulkan drivers currently in mesa do seem to require it for some shared/static libs so maybe that's fine there). So we would only be missing this dependency for the panfrost (possibly others) tools. Then, this needs to be put in TOOLS_DEPS like I suggested in v1. > Signed-off-by: Changqing Li <changqing.li@windriver.com> > Signed-off-by: Khem Raj <raj.khem@gmail.com> > Cc: Quentin Schulz <quentin.schulz@cherry.de> > --- > meta/recipes-graphics/mesa/mesa.inc | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc > index a95adfc960..ecd3b3780e 100644 > --- a/meta/recipes-graphics/mesa/mesa.inc > +++ b/meta/recipes-graphics/mesa/mesa.inc > @@ -111,7 +111,7 @@ PACKAGECONFIG[imagination] = "-Dimagination-srv=true,-Dimagination-srv=false" > PACKAGECONFIG[intel] = "" > PACKAGECONFIG[lima] = "" > PACKAGECONFIG[nouveau] = "" > -PACKAGECONFIG[panfrost] = "" > +PACKAGECONFIG[panfrost] = ",,libdrm-native" Also, I'm pretty sure it should be libdrm and not libdrm-native, as what's gonna happen when a user requests building the tools for a target package? It needs to be the same architecture as the one you're building for, hence not forced to native. Cheers, Quentin
On Wed, Mar 25, 2026 at 10:00 AM Quentin Schulz via lists.openembedded.org <quentin.schulz=cherry.de@lists.openembedded.org> wrote: > Hi Khem, > > On 3/25/26 5:38 PM, Khem Raj wrote: > > From: Changqing Li <changqing.li@windriver.com> > > > > Fix do_compile failure: > > ../sources/mesa-26.0.1/src/panfrost/lib/kmod/pan_kmod.c:7:10: fatal > error: xf86drm.h: No such file or directory > > > > Hold on a second. In v1 you patched mesa-tools-native and I based the > whole discussion on that but the error message is actually about target > mesa? You also said in v1 you're building mesa-gl so the error message > is also not related. The commit title also is wrong now as you're > changing mesa.inc. > > What's actually going on. How do I reproduce? Also mesa-26.0.1 may be > **before** mesa-tools-native was even introduced. > > The gallium PACKAGECONFIG should bring this dependency in. If vulkan is > selected, libdrm will be a required dependency and it should fail the > build if we don't find it and try to build Vulkan panfrost (panvk). I'm > suspecting we need to add libdrm to vulkan PACKAGECONFIG but maybe it's > not required for *all* drivers (though all vulkan drivers currently in > mesa do seem to require it for some shared/static libs so maybe that's > fine there). > > So we would only be missing this dependency for the panfrost (possibly > others) tools. Then, this needs to be put in TOOLS_DEPS like I suggested > in v1. > > > Signed-off-by: Changqing Li <changqing.li@windriver.com> > > Signed-off-by: Khem Raj <raj.khem@gmail.com> > > Cc: Quentin Schulz <quentin.schulz@cherry.de> > > --- > > meta/recipes-graphics/mesa/mesa.inc | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/meta/recipes-graphics/mesa/mesa.inc > b/meta/recipes-graphics/mesa/mesa.inc > > index a95adfc960..ecd3b3780e 100644 > > --- a/meta/recipes-graphics/mesa/mesa.inc > > +++ b/meta/recipes-graphics/mesa/mesa.inc > > @@ -111,7 +111,7 @@ PACKAGECONFIG[imagination] = > "-Dimagination-srv=true,-Dimagination-srv=false" > > PACKAGECONFIG[intel] = "" > > PACKAGECONFIG[lima] = "" > > PACKAGECONFIG[nouveau] = "" > > -PACKAGECONFIG[panfrost] = "" > > +PACKAGECONFIG[panfrost] = ",,libdrm-native" > > Also, I'm pretty sure it should be libdrm and not libdrm-native, as > what's gonna happen when a user requests building the tools for a target > package? It needs to be the same architecture as the one you're building > for, hence not forced to native. > Well my build failure was in mesa-tools-native which is in chain of dependencies for mesa-gl/mesa which tries to build panfrost-tools ../sources/mesa-26.0.2/src/panfrost/lib/kmod/pan_kmod.c:7:10: fatal error: xf86drm.h: No such file or directory 7 | #include <xf86drm.h> | ^~~~~~~~~~~ mesa is not built for opengl ( no-x11 no-wayland ) case with mali driver on mesa-gl is used and that builds ok. > > Cheers, > Quentin > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#233929): > https://lists.openembedded.org/g/openembedded-core/message/233929 > Mute This Topic: https://lists.openembedded.org/mt/118504425/1997914 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [ > raj.khem@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- > >
diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc index a95adfc960..ecd3b3780e 100644 --- a/meta/recipes-graphics/mesa/mesa.inc +++ b/meta/recipes-graphics/mesa/mesa.inc @@ -111,7 +111,7 @@ PACKAGECONFIG[imagination] = "-Dimagination-srv=true,-Dimagination-srv=false" PACKAGECONFIG[intel] = "" PACKAGECONFIG[lima] = "" PACKAGECONFIG[nouveau] = "" -PACKAGECONFIG[panfrost] = "" +PACKAGECONFIG[panfrost] = ",,libdrm-native" PACKAGECONFIG[rocket] = "" PACKAGECONFIG[svga] = "" PACKAGECONFIG[tegra] = ""