Bug 3469 - mesa-demos fail to build if using other GL library
Summary: mesa-demos fail to build if using other GL library
Status: RESOLVED FIXED
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: core (show other bugs)
Version: 1.3
Hardware: x86 Multiple
: Medium normal
Target Milestone: 1.4
Assignee: Ross Burton
QA Contact:
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2012-11-20 18:34 UTC by Otavio Salvador
Modified: 2013-04-25 13:53 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 Otavio Salvador 2012-11-20 18:34:09 UTC
The mesa-demos depends on mesa specific features so we have two possible solutions for it:

 * Add an explicit depends on mesa-dri (instead of virtual/libgl) in mesa-demos recipe, or

 * Disable mesa specific code

Discussing it with Ross at IRC, it seems he prefer to try to cook a patch to disable mesa specific demos and make it generic. Either way this needs to be fixed as testapps image feature is forcing the inclusion of mesa-demos and this makes difficult the reuse of these packagegroup by other SoC vendors.
Comment 1 Otavio Salvador 2012-12-12 16:27:02 UTC
Did you get any further with this?
Comment 2 Ross Burton 2012-12-12 17:16:44 UTC
Not yet, sorry.
Comment 3 Nitin Kamble 2013-03-27 21:38:42 UTC
FYI this is affecting libva & libva-intel-driver update in the meta-intel. And the Yocto project 1.4 code freeze window is almost here. Can this issue be resolved any sooner?
Comment 4 Ross Burton 2013-04-03 11:49:07 UTC
How is mesa-demos affecting the va drivers?
Comment 5 Ross Burton 2013-04-04 13:59:31 UTC
Nitin, I'm not sure why this blocks the va upgrade?
Comment 6 Nitin Kamble 2013-04-04 18:57:59 UTC
Hi Ross,
  This was discussed on the meta-intel mailing list. mesa-demos fail to build with the newer libva. 


| eglut.c: In function '_eglutDestroyWindow':eglut.c: In function '_eglutDestroyWindow':
| 
| eglut.c:55:32: error: 'EGL_SCREEN_BIT_MESA' undeclared (first use in 
| this function)eglut.c:55:32: error: 'EGL_SCREEN_BIT_MESA' undeclared 
| (first use in this function)
| 
| eglut.c:55:32: note: each undeclared identifier is reported only once 
| for each function it appears ineglut.c:55:32: note: each undeclared 
| identifier is reported only once for each function it appears in
| 
| eglut.c: In function '_eglutCreateWindow':
| eglut.c:153:9: error: 'EGL_SCREEN_BIT_MESA' undeclared (first use in 
| this function)
| eglut.c: In function '_eglutCreateWindow':
| eglut.c:153:9: error: 'EGL_SCREEN_BIT_MESA' undeclared (first use in 
| this function)
| eglut_screen.c:13:1: error: unknown type name 'EGLScreenMESA'
| eglut_screen.c:14:1: error: unknown type name 'EGLModeMESA'
| eglut_screen.c: In function '_eglutNativeInitDisplay':
| eglut_screen.c:21:27: error: 'EGL_SCREEN_BIT_MESA' undeclared (first 
| use in this function)
| eglut_screen.c:21:27: note: each undeclared identifier is reported 
| only once for each function it appears in
| eglut_screen.c: In function 'init_kms':
| eglut_screen.c:36:4: error: unknown type name 'EGLModeMESA'
| eglut_screen.c: In function '_eglutNativeInitWindow':
| eglut_screen.c:95:26: warning: assignment makes pointer from integer 
| without a cast [enabled by default]
| eglut.c: In function 'eglutDestroyWindow':
| eglut.c: In function 'eglutDestroyWindow':eglut.c:268:33: error: 
| 'EGL_SCREEN_BIT_MESA' undeclared (first use in this function)
| 
| eglut.c:268:33: error: 'EGL_SCREEN_BIT_MESA' undeclared (first use in 
| this function)
| make[3]: *** [eglut_screen.lo] Error 1
| make[3]: *** Waiting for unfinished jobs....
| make[3]: *** [libeglut_x11_la-eglut.lo] Error 1
| make[3]: *** [eglut.lo] Error 1
| make[3]: Leaving directory `/srv/ssd/nitin_builds/build-emenlow/tmp/work/core2-poky-linux/mesa-demos/8.0.1-r4/mesa-demos-8.0.1/src/egl/eglut'
| make[2]: *** [all-recursive] Error 1
| make[2]: Leaving directory `/srv/ssd/nitin_builds/build-emenlow/tmp/work/core2-poky-linux/mesa-demos/8.0.1-r4/mesa-demos-8.0.1/src/egl'
| make[1]: *** [all-recursive] Error 1
| make[1]: Leaving directory `/srv/ssd/nitin_builds/build-emenlow/tmp/work/core2-poky-linux/mesa-demos/8.0.1-r4/mesa-demos-8.0.1/src'
| make: *** [all-recursive] Error 1
| ERROR: oe_runmake failed
| ERROR: Function failed: do_compile (see 
| /srv/ssd/nitin_builds/build-emenlow/tmp/work/core2-poky-linux/mesa-dem
| os/8.0.1-r4/temp/log.do_compile.40596 for further information)
ERROR: Task 2105 (/srv/home/nitin/prj/poky.git/meta/recipes-graphics/mesa/mesa-demos_8.0.1.bb, do_compile) failed with exit code '1'
NOTE: Tasks Summary: Attempted 5656 tasks of which 5600 didn't need to be rerun and 1 failed.
Waiting for 0 running tasks to finish:

Summary: 1 task failed:
  /srv/home/nitin/prj/poky.git/meta/recipes-graphics/mesa/mesa-demos_8.0.1.bb, do_compile
Comment 7 Ross Burton 2013-04-04 20:08:07 UTC
Those errors have nothing to do with libva and appear to be due to mesa-demos building against emgd (which *is* what this bug is about).
Comment 8 Nitin Kamble 2013-04-04 20:18:05 UTC
Ross, 
   That is right. The relations to libva is, that update to libva demands the package files from emgd. and providing that breaks the mesa-demos. So this is bit entanglement of multiple recipes here.

Nitin
Comment 9 Nitin Kamble 2013-04-04 20:20:14 UTC
And this mess can be avoided by pinning libva version to lower version for EMGD recipes.
Comment 10 Tom Zanussi 2013-04-08 15:47:27 UTC
I've submitted a patch that fixes this to meta-intel:

https://lists.yoctoproject.org/pipermail/meta-intel/2013-April/000637.html

Since we're coming up on release and I don't know if this might also be a good fix for non-Intel machines everywhere else, I don't plan on submitting it to oe-core unless someone can tell me that's the right thing to do at this point.
Comment 11 Otavio Salvador 2013-04-08 16:02:40 UTC
(In reply to comment #10)
> I've submitted a patch that fixes this to meta-intel:
> 
> https://lists.yoctoproject.org/pipermail/meta-intel/2013-April/000637.html
> 
> Since we're coming up on release and I don't know if this might also be a
> good fix for non-Intel machines everywhere else, I don't plan on submitting
> it to oe-core unless someone can tell me that's the right thing to do at
> this point.

Being a backport I think it could be evaluated. Once you send a patch for it I can try it in meta-fsl-arm and check if it fixes the build issue there as well.
Comment 12 Nitin Kamble 2013-04-08 16:16:28 UTC
Hi Tomz, 
  Good to see a patch to solve this. From the review of it, it looks like right way to solve the issue. I will do some build/runtime testing with meta-intel BSPs with it.

Thanks,
Nitin
Comment 13 Ross Burton 2013-04-12 14:27:02 UTC
I've just sent these patches to oe-core as this bug was originally reported due to mesa-demos failing to build against the Freescale drivers.  Thanks Tom!
Comment 14 Tom Zanussi 2013-04-12 14:31:39 UTC
OK, great, once that hits oe-core, I'll remove it from meta-intel.
Comment 15 Ross Burton 2013-04-25 13:53:17 UTC
Merged into dylan as 60fabb6ea0474b19ad57873b402a608a92c5a5d4.