Bug 2059

Summary: Fail to build project based on Clutter with taget arch arm/mips/ppc
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Hongna Xu <hongnax.xu>
Component: coreAssignee: Joshua Lock - Disabled <josh>
Status: VERIFIED FIXED QA Contact:
Severity: normal    
Priority: Medium CC: edwin.zhai, jiajun.xu, jiajun.xu, lianhao.lu, meta.mr.watcher, meta.watcher
Version: 1.2   
Target Milestone: 1.2 M4   
Hardware: x86   
OS: Multiple   
Whiteboard: (P3) Development (100% complete) - patch submitted
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: ---

Description Hongna Xu 2012-03-07 07:05:58 UTC
When cross building clutter based applications against core-image-sato-sdk, it will fail beging reported "fatal error: clutter/clutter.h: No such file or directory". The error is caused by the missing gl.pc in the target rootfs.  

When running "pkg-config --cflags clutter-1.0", i got the log below:
******************************************
Package gl was not found in the pkg-config search path.
Perhaps you should add the directory containing `gl.pc'
to the PKG_CONFIG_PATH environment variable
Package 'gl', required by 'Clutter', not found
******************************************

Branch:poky/1.2_M3
CommitId: 320558f494c618f53e0c773db3ea0109476e8359
Comment 1 jiajun 2012-03-07 07:43:47 UTC
It's developer's responsibility to change the field "Target Milestone", which indicates the deadline for bug fixing.
Comment 2 Saul Wold 2012-03-08 19:19:07 UTC
Looks like packaging issue
Comment 3 Lianhao Lu 2012-04-01 10:38:43 UTC
The package mesa-dri-dev which contains the gl.pc is installed on qemux86/qemux86-64, but not on qemuarm/qemuppc. 

I guess the reason is in the difference of choosing XSERVER between IA and non-IA. On IA, we choose XSERVER xserver-xorg while on non-IA we use xserver-kdrive-fbdev.
The xserver-xorg-dev will "recommend" mesa-dri-dev, which brings in the gl.pc.
Comment 4 Joshua Lock - Disabled 2012-04-03 00:14:13 UTC
I don't know what provides GL on platforms with kdrive x server but I'd guess kdrive isn't linking to it directly and therefore the dependency isn't being correctly encoded.

I'll run some builds and try and find more information.
Comment 5 Joshua Lock - Disabled 2012-04-04 22:14:35 UTC
Can you provide reproducer steps please?

So far as I can tell you're using the ADT with a core-image-sato-sdk image to cross-compile clutter applications for arm/mips/ppc targets?

It'd be really useful to have more detail before I spend time setting up to debug and test this.
Comment 6 Joshua Lock - Disabled 2012-04-04 22:16:18 UTC
Edwin, this seems like an X issue - can you comment?
Comment 7 Edwin Zhai 2012-04-05 06:26:35 UTC
See my fix for gl on qemuarm/mips/ppc.
http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=5cdb58f683d76e4008eae2f8afa2314824a74966

The mesa lib for xserver-kdrive is mesa-xlib. You can check if it is installed in core-image-sato-sdk after my fix.

Thanks,
Edwin
Comment 8 Joshua Lock - Disabled 2012-04-06 00:33:19 UTC
The gl.pc file was being included in mesa-$variant-dev, not in libgl-dev. Patch submitted to package it with libgl-dev.
Comment 10 Hongna Xu 2012-04-17 02:11:57 UTC
Verify and fixed on 1.2M4 rc3 testing.
Tree/Branch: Poky/1.2_M4
Commit id: fae1c7a5fdcea199338b5f91efaafd7c72aec5dd