On 6/1/2016 9:07 PM, Martinx - ????? wrote: > Guys, > > I'm trying to build DPDK-16.04 on CentOS 6.8, but it is failing, here is > the error: > > --- > ... > == Build lib/librte_eal/linuxapp > == Build lib/librte_eal/linuxapp/eal > == Build lib/librte_eal/linuxapp/igb_uio > CC eal.o > CC eal_hugepage_info.o > CC eal_memory.o > LD > > /root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/built-in.o > CC [M] > > /root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.o > CC eal_thread.o > /root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c: > In function 'igbuio_msix_mask_irq': > /root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c:157: > error: 'PCI_MSIX_ENTRY_CTRL_MASKBIT' undeclared (first use in this function) > /root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c:157: > error: (Each undeclared identifier is reported only once > /root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c:157: > error: for each function it appears in.) > make[8]: *** > [/root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.o] > Error 1 > make[7]: *** > [_module_/root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio] > Error 2 > make[6]: *** [sub-make] Error 2 > make[5]: *** [igb_uio.ko] Error 2 > make[4]: *** [igb_uio] Error 2 > make[4]: *** Waiting for unfinished jobs.... > CC eal_log.o > CC eal_pci.o > CC eal_pci_uio.o > CC eal_pci_vfio.o > CC eal_pci_vfio_mp_sync.o > ... > --- > > Any clue? > > I'm trying to build it by running: > > -- > rpmbuild --ba /root/rpmbuild/SPECS/dpdk.spec > -- > > I removed the "doc" and the need for Xen out of it... I can take this spec > and the dpdk-16.04.tar.gz and build it on CentOS 7. > > Thanks! > Thiago >
Hi Thiago, As a reference, I tested spec file on Fedora 23, compilation worked fine. Only I found you need to set RTE_TARGET=x86_64-default-linuxapp-gcc before building, to be able to package all files. meanwhile PCI_MSIX_ENTRY_CTRL_MASKBIT is defined for kernels >= 2.6.38, BUT it already defined in igb_uio/compat.h for the case kernel headers don't have it, so it is not related to the kernel versions, not sure about source of the error. Thanks, ferruh