[meta-intel] emgd-driver-dev and libgl-mesa-dev packaging conflict

Laurentiu Palcu laurentiu.palcu at intel.com
Fri Apr 19 00:59:13 PDT 2013



On 04/19/2013 06:41 AM, Darren Hart wrote:
> 
> 
> On 04/18/2013 08:37 PM, Kamble, Nitin A wrote:
>>>>>
>>>>> With IPK packaging I am able to reproduce the issue. I think this can
>>>>> be easily avoided by reverting this commit
>>>>>
>>>>> commit 5e314278e4cf37b7fbb2946f4f42a3236071e131
>>>>> Author: Laurentiu Palcu <laurentiu.palcu at intel.com>
>>>>> Date:   Wed Mar 13 13:05:48 2013 +0200
>>>>>
>>>>>     emgd-driver-bin: add pkgconfig files
>>>>>
>>>>>     Add pkgconfig files needed by other projects (for example newer libva
>>>>>     packages look for egl.pc file).
>>>>>
>>>>>     Pkgconfig files added by this patch:
>>>>>      * egl.pc
>>>>>      * gl.pc
>>>>>      * gles_cm.pc
>>>>>      * glesv2.pc
>>>>>
>>>>>     Signed-off-by: Laurentiu Palcu <laurentiu.palcu at intel.com>
>>>>>     Signed-off-by: Tom Zanussi <tom.zanussi at linux.intel.com>
>>>>>
>>>>>
>>>>>
>>>>> This commit was needed for newer libva, now we have pinned EMGD
>>> based
>>>>> BSPs to older libva, so this commit is not really needed.
>>>>
>>>> I verified that this indeed fixes the issue.
>>>
>>> It more like hides the issue right?
>> No, it is not really hiding. This commit adds the conflicting files, which are not needed anymore.
>>
>>>
>>> The problem seems to be a continued conflict between emgd and mesa
>>> supplying the same files.
>>>
>>> Seems to me we need something like the anonymous python in the meta-
>>> intel mesa bbappend from:
>>>
>>> commit 1a5ab65544830dd571a368b9d9f6ec782ffc94ac
>>> Author: Nitin A Kamble <nitin.a.kamble at intel.com>
>>> Date:   Tue Oct 30 14:38:34 2012 -0700
>>>
>>>     mesa-dri.bbappend: avoid conflict with emgd-driver-bin
>>>
>>> Right?
>> That can be another way to fix the problem. But the issue is not only with mesa-dri, I was seeing conflicts with other recipes too as seen below.
>>
>> | Collected errors:
>> |  * check_data_file_clashes: Package libgl-mesa-dev wants to install file /srv/home/nitin/build-test-bsps/build-emenlow/tmp/work/emenlow-poky-linux/core-image-sato-sdk/1.0-r0/rootfs/usr/lib/pkgconfig/gl.pc
>> | 	But that file is already provided by package  * emgd-driver-dev
>> |  * opkg_install_cmd: Cannot install package qt4-x11-free-dev.
>> |  * check_data_file_clashes: Package libgl-mesa-dev wants to install file /srv/home/nitin/build-test-bsps/build-emenlow/tmp/work/emenlow-poky-linux/core-image-sato-sdk/1.0-r0/rootfs/usr/lib/pkgconfig/gl.pc
>> | 	But that file is already provided by package  * emgd-driver-dev
>> |  * opkg_install_cmd: Cannot install package mesa-demos-dev.
>> |  * check_data_file_clashes: Package libgl-mesa-dev wants to install file /srv/home/nitin/build-test-bsps/build-emenlow/tmp/work/emenlow-poky-linux/core-image-sato-sdk/1.0-r0/rootfs/usr/lib/pkgconfig/gl.pc
>> | 	But that file is already provided by package  * emgd-driver-dev
>> |  * opkg_install_cmd: Cannot install package libva-egl-dev.
>> |  * check_data_file_clashes: Package libgl-mesa-dev wants to install file /srv/home/nitin/build-test-bsps/build-emenlow/tmp/work/emenlow-poky-linux/core-image-sato-sdk/1.0-r0/rootfs/usr/lib/pkgconfig/gl.pc
>> | 	But that file is already provided by package  * emgd-driver-dev
>> |  * opkg_install_cmd: Cannot install package libva-glx-dev.
>> |  * check_data_file_clashes: Package libgl-mesa-dev wants to install file /srv/home/nitin/build-test-bsps/build-emenlow/tmp/work/emenlow-poky-linux/core-image-sato-sdk/1.0-r0/rootfs/usr/lib/pkgconfig/gl.pc
>> | 	But that file is already provided by package  * emgd-driver-dev
>> |  * opkg_install_cmd: Cannot install package libgl-mesa-dev.
>> | ERROR: Function failed: do_rootfs (see /srv/home/nitin/build-test-bsps/build-emenlow/tmp/work/emenlow-poky-linux/core-image-sato-sdk/1.0-r0/temp/log.do_rootfs.49983 for further information)
>>
>>
>> So I think at this point in the 1.4 release, the least disturbing solution will be to revert the commit adding .pc files to emgd recipe.
> 
> Ugh.
> 
> Is libva the only known package that needs the .pc files?
> 
> Laurentiu, care to comment as this was your patch we're considering
> reverting?
> 
Yes, libva is the package needing the gl.pc file (libva-egl to be more
specific). We could revert the commit specified and add the following
lines in the libva_1.1.1.bb:

do_configure_prepend () {
        export EGL_CFLAGS="-I${STAGING_INCDIR}"
        export EGL_LIBS="-L${STAGING_LIBDIR} -lEGL"
}

This will still allow building libva-egl and avoid using pkgconfig.

Thanks,
Laurentiu



More information about the meta-intel mailing list