Deekshith Reddy
Deekshith Reddy

Reputation: 21

Yocto: Data file clashes build error while enabling libvirt

While enabling libvirt in yocto, I am seeing below data file clash issue while building yocto image,

Below are the packages I am trying to append install to my yocto image

IMAGE_INSTALL_append = " \     
       packagegroup-core-boot \     
       qemu \     
       libvirt \     
       libvirt-libvirtd \     
       libvirt-virsh \     
       kernel-module-kvm \     
       kernel-module-kvm-intel \    
    " 

But I see below issue, when I build image enabling above packages,

`Collected errors:

FYI: I see that libvirt has both iptables and ebtables dependency.

can someone help on understanding this and how to resolve?

I tried to remove ebtables with PACKAGECONFIG_remove = "ebtables" and image is built but I when starting libvirtd service it is always in dead mode and I see some issue related to socket.

Upvotes: 1

Views: 1028

Answers (1)

Talel BELHAJSALEM
Talel BELHAJSALEM

Reputation: 4344

Actually, this is a problem that has no solution except:

  1. Remove one of the packages (ebtables or iptables)

  2. Remove the file ethertypes from one of the recipes

libvirt depends on iptables on compile time only, so I did not know why iptables is present in the image ?

Anyways, it has a config on ebtables and from your comment when you removed it from PACKAGECONFIG it failed to work. So:

I suggest check if iptables is required by other package at run time, if not remove it.

If both are required in your case, then go for the second solution which is removing the file from one of the recipes, using a bbappend file for one of them:

The block that you may need to add is:

do_install_append() {
    rm ${D}/etc/ethertypes
}

either to:

  • meta-custom/recipes-filter/ebtables/ebtables_%.bbappend

or to:

  • meta-custom/recipes-extended/iptables/iptables_%.bbappend

NOTE

If you go for the second solution, you need to make sure that the file is not present in the FILES variable of the recipe that you will remove the file from, FILES_ebtables or FILES_iptables.

Upvotes: 1

Related Questions