* [dpdk-dev] Can't build DPDK-16.04 on CentOS 6.8 @ 2016-06-01 20:07 Martinx - ジェームズ 2016-06-03 10:45 ` Ferruh Yigit 0 siblings, 1 reply; 17+ messages in thread From: Martinx - ジェームズ @ 2016-06-01 20:07 UTC (permalink / raw) To: dev 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 ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [dpdk-dev] Can't build DPDK-16.04 on CentOS 6.8 2016-06-01 20:07 [dpdk-dev] Can't build DPDK-16.04 on CentOS 6.8 Martinx - ジェームズ @ 2016-06-03 10:45 ` Ferruh Yigit 2016-06-03 15:17 ` Martinx - ジェームズ 0 siblings, 1 reply; 17+ messages in thread From: Ferruh Yigit @ 2016-06-03 10:45 UTC (permalink / raw) To: Martinx - ジェームズ, dev 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 ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [dpdk-dev] Can't build DPDK-16.04 on CentOS 6.8 2016-06-03 10:45 ` Ferruh Yigit @ 2016-06-03 15:17 ` Martinx - ジェームズ 2016-06-12 15:30 ` Rosen, Rami 0 siblings, 1 reply; 17+ messages in thread From: Martinx - ジェームズ @ 2016-06-03 15:17 UTC (permalink / raw) To: Ferruh Yigit; +Cc: dev On 3 June 2016 at 06:45, Ferruh Yigit <ferruh.yigit@intel.com> wrote: > 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 > Hello Ferruh, The dpdk.spec file already tries to compile it by using "RTE_TARGET=x86_64-default-linuxapp-gcc", look: --- # rpmbuild --ba /root/rpmbuild/SPECS/dpdk.spec ......... + unset DISPLAY + make O=x86_64-default-linuxapp-gcc T=x86_64-native-linuxapp-gcc config Configuration done ......... --- Am I right? But it fails... I'll need to stick with DPDK-1.8 for CentOS 6 for now, since I can compile it without problems... Thanks anyway man! Best, Thiago ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [dpdk-dev] Can't build DPDK-16.04 on CentOS 6.8 2016-06-03 15:17 ` Martinx - ジェームズ @ 2016-06-12 15:30 ` Rosen, Rami 2016-06-13 16:15 ` Martinx - ジェームズ 2016-06-15 15:57 ` [dpdk-dev] [PATCH] igb_uio: fix build with backported kernel Ferruh Yigit 0 siblings, 2 replies; 17+ messages in thread From: Rosen, Rami @ 2016-06-12 15:30 UTC (permalink / raw) To: thiagocmartinsc, Yigit, Ferruh; +Cc: dev, Rosen, Rami Hi Thiago, > Any clue? Sure. This is the reason: in dpdk-16.04/lib/librte_eal/linuxapp/igb_uio we have: .... #ifndef PCI_MSIX_ENTRY_SIZE #define PCI_MSIX_ENTRY_SIZE 16 #define PCI_MSIX_ENTRY_LOWER_ADDR 0 #define PCI_MSIX_ENTRY_UPPER_ADDR 4 #define PCI_MSIX_ENTRY_DATA 8 #define PCI_MSIX_ENTRY_VECTOR_CTRL 12 #define PCI_MSIX_ENTRY_CTRL_MASKBIT 1 #endif ... The root cause of the problem is due to that in CentOS 6.8, PCI_MSIX_ENTRY_SIZE is defined; this causes *avoiding* having the PCI_MSIX_ENTRY_CTRL_MASKBIT definition as shown above. The definition of PCI_MSIX_ENTRY_SIZE is due to the following patch, which was introduced in CentOS 6.8, which moved PCI_MSIX_ENTRY_SIZE from the inner drivers/pci/msi.h header file into include/linux/pci_regs.h, The linux/pci_regs.h is included in the pci.h header, which is used by the igb_uio.c, which failed in compilation. "PATCH 1/8] PCI: MSI: Move MSI-X entry definition to pci_regs.h" --- a/drivers/pci/msi.h +++ b/drivers/pci/msi.h @@ -6,12 +6,6 @@ #ifndef MSI_H #define MSI_H -#define PCI_MSIX_ENTRY_SIZE 16 ... ... ... diff --git a/include/linux/pci_regs.h b/include/linux/pci_regs.h index 455b9cc..acfc224 100644 --- a/include/linux/pci_regs.h +++ b/include/linux/pci_regs.h @@ -307,6 +307,13 @@ #define PCI_MSIX_FLAGS_MASKALL (1 << 14) #define PCI_MSIX_FLAGS_BIRMASK (7 << 0) +/* MSI-X entry's format */ +#define PCI_MSIX_ENTRY_SIZE 16 .... http://linux-pci.vger.kernel.narkive.com/cZquopIw/patch-1-8-pci-msi-move-msi-x-entry-definition-to-pci-regs-h See also: rpm -qp --changelog kernel-devel-2.6.32-642.el6.x86_64.rpm | grep "Move MSI-X entry" warning: kernel-devel-2.6.32-642.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY - [pci] msi: Move MSI-X entry definition to pci_regs.h (Myron Stowe) [1288629 A proper patch which checks kernel version can fix it. Regards, Rami Rosen Intel Corporation ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [dpdk-dev] Can't build DPDK-16.04 on CentOS 6.8 2016-06-12 15:30 ` Rosen, Rami @ 2016-06-13 16:15 ` Martinx - ジェームズ 2016-06-15 18:59 ` Martinx - ジェームズ 2016-06-15 15:57 ` [dpdk-dev] [PATCH] igb_uio: fix build with backported kernel Ferruh Yigit 1 sibling, 1 reply; 17+ messages in thread From: Martinx - ジェームズ @ 2016-06-13 16:15 UTC (permalink / raw) To: Rosen, Rami; +Cc: Yigit, Ferruh, dev On 12 June 2016 at 11:30, Rosen, Rami <rami.rosen@intel.com> wrote: > Hi Thiago, > > > Any clue? > > Sure. This is the reason: in dpdk-16.04/lib/librte_eal/linuxapp/igb_uio we > have: > .... > #ifndef PCI_MSIX_ENTRY_SIZE > #define PCI_MSIX_ENTRY_SIZE 16 > #define PCI_MSIX_ENTRY_LOWER_ADDR 0 > #define PCI_MSIX_ENTRY_UPPER_ADDR 4 > #define PCI_MSIX_ENTRY_DATA 8 > #define PCI_MSIX_ENTRY_VECTOR_CTRL 12 > #define PCI_MSIX_ENTRY_CTRL_MASKBIT 1 > #endif > ... > > The root cause of the problem is due to that in CentOS 6.8, > PCI_MSIX_ENTRY_SIZE is defined; this > causes *avoiding* having the PCI_MSIX_ENTRY_CTRL_MASKBIT definition as > shown above. > > The definition of PCI_MSIX_ENTRY_SIZE is due to the following patch, which > was introduced in CentOS 6.8, which moved PCI_MSIX_ENTRY_SIZE from the > inner drivers/pci/msi.h header file into include/linux/pci_regs.h, > The linux/pci_regs.h is included in the pci.h header, which is used by the > igb_uio.c, which failed in compilation. > > "PATCH 1/8] PCI: MSI: Move MSI-X entry definition to pci_regs.h" > > --- a/drivers/pci/msi.h > +++ b/drivers/pci/msi.h > @@ -6,12 +6,6 @@ > #ifndef MSI_H > #define MSI_H > > -#define PCI_MSIX_ENTRY_SIZE 16 > ... > ... > ... > diff --git a/include/linux/pci_regs.h b/include/linux/pci_regs.h > index 455b9cc..acfc224 100644 > --- a/include/linux/pci_regs.h > +++ b/include/linux/pci_regs.h > @@ -307,6 +307,13 @@ > #define PCI_MSIX_FLAGS_MASKALL (1 << 14) > #define PCI_MSIX_FLAGS_BIRMASK (7 << 0) > > +/* MSI-X entry's format */ > +#define PCI_MSIX_ENTRY_SIZE 16 > .... > > > http://linux-pci.vger.kernel.narkive.com/cZquopIw/patch-1-8-pci-msi-move-msi-x-entry-definition-to-pci-regs-h > > See also: > rpm -qp --changelog kernel-devel-2.6.32-642.el6.x86_64.rpm | grep "Move > MSI-X entry" > warning: kernel-devel-2.6.32-642.el6.x86_64.rpm: Header V3 RSA/SHA1 > Signature, key ID c105b9de: NOKEY > - [pci] msi: Move MSI-X entry definition to pci_regs.h (Myron Stowe) > [1288629 > > > A proper patch which checks kernel version can fix it. > > Regards, > Rami Rosen > Intel Corporation > > Interesting! Do you have this proper fix? I would like to build and use DPDK on CentOS 6.8... Thank you for your reply! Best, Thiago ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [dpdk-dev] Can't build DPDK-16.04 on CentOS 6.8 2016-06-13 16:15 ` Martinx - ジェームズ @ 2016-06-15 18:59 ` Martinx - ジェームズ 2016-06-15 20:27 ` Murali Krishna 2016-06-16 15:31 ` Ferruh Yigit 0 siblings, 2 replies; 17+ messages in thread From: Martinx - ジェームズ @ 2016-06-15 18:59 UTC (permalink / raw) To: Rosen, Rami; +Cc: Yigit, Ferruh, dev On 13 June 2016 at 12:15, Martinx - ジェームズ <thiagocmartinsc@gmail.com> wrote: > > > On 12 June 2016 at 11:30, Rosen, Rami <rami.rosen@intel.com> wrote: > >> Hi Thiago, >> >> > Any clue? >> >> Sure. This is the reason: in dpdk-16.04/lib/librte_eal/linuxapp/igb_uio >> we have: >> .... >> #ifndef PCI_MSIX_ENTRY_SIZE >> #define PCI_MSIX_ENTRY_SIZE 16 >> #define PCI_MSIX_ENTRY_LOWER_ADDR 0 >> #define PCI_MSIX_ENTRY_UPPER_ADDR 4 >> #define PCI_MSIX_ENTRY_DATA 8 >> #define PCI_MSIX_ENTRY_VECTOR_CTRL 12 >> #define PCI_MSIX_ENTRY_CTRL_MASKBIT 1 >> #endif >> ... >> >> The root cause of the problem is due to that in CentOS 6.8, >> PCI_MSIX_ENTRY_SIZE is defined; this >> causes *avoiding* having the PCI_MSIX_ENTRY_CTRL_MASKBIT definition as >> shown above. >> >> The definition of PCI_MSIX_ENTRY_SIZE is due to the following patch, >> which was introduced in CentOS 6.8, which moved PCI_MSIX_ENTRY_SIZE from >> the inner drivers/pci/msi.h header file into include/linux/pci_regs.h, >> The linux/pci_regs.h is included in the pci.h header, which is used by >> the igb_uio.c, which failed in compilation. >> >> "PATCH 1/8] PCI: MSI: Move MSI-X entry definition to pci_regs.h" >> >> --- a/drivers/pci/msi.h >> +++ b/drivers/pci/msi.h >> @@ -6,12 +6,6 @@ >> #ifndef MSI_H >> #define MSI_H >> >> -#define PCI_MSIX_ENTRY_SIZE 16 >> ... >> ... >> ... >> diff --git a/include/linux/pci_regs.h b/include/linux/pci_regs.h >> index 455b9cc..acfc224 100644 >> --- a/include/linux/pci_regs.h >> +++ b/include/linux/pci_regs.h >> @@ -307,6 +307,13 @@ >> #define PCI_MSIX_FLAGS_MASKALL (1 << 14) >> #define PCI_MSIX_FLAGS_BIRMASK (7 << 0) >> >> +/* MSI-X entry's format */ >> +#define PCI_MSIX_ENTRY_SIZE 16 >> .... >> >> >> http://linux-pci.vger.kernel.narkive.com/cZquopIw/patch-1-8-pci-msi-move-msi-x-entry-definition-to-pci-regs-h >> >> See also: >> rpm -qp --changelog kernel-devel-2.6.32-642.el6.x86_64.rpm | grep "Move >> MSI-X entry" >> warning: kernel-devel-2.6.32-642.el6.x86_64.rpm: Header V3 RSA/SHA1 >> Signature, key ID c105b9de: NOKEY >> - [pci] msi: Move MSI-X entry definition to pci_regs.h (Myron Stowe) >> [1288629 >> >> >> A proper patch which checks kernel version can fix it. >> >> Regards, >> Rami Rosen >> Intel Corporation >> >> > Interesting! > > Do you have this proper fix? I would like to build and use DPDK on CentOS > 6.8... > > Thank you for your reply! > > Best, > Thiago > Hey guys, I tried something different, just for testing, and it also doesn't build. What I tried was to install the "centos-release-xen" repo, and run "yum upgrade" in my CentOS 6.8 box, this way, I can receive a new Kernel for it, which is "3.18.34-20.el6.x86_64", and here is the DPDK build error now: --- ........... CC eal_common_dev.o cc1: warnings being treated as errors /root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c: In function 'igbuio_pci_probe': /usr/src/kernels/3.18.34-20.el6.x86_64/include/linux/slab.h:582: error: inlining failed in call to 'kzalloc.clone.0': --param max-inline-insns-single limit reached /root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c:383: error: called from here 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_common_options.o CC eal_common_thread.o CC eal_common_proc.o CC rte_malloc.o CC malloc_elem.o CC malloc_heap.o CC rte_keepalive.o CC rte_cpuflags.o SYMLINK-FILE include/exec-env/rte_interrupts.h SYMLINK-FILE include/exec-env/rte_kni_common.h SYMLINK-FILE include/exec-env/rte_dom0_common.h LD librte_eal.so.2 INSTALL-LIB librte_eal.so.2 make[3]: *** [linuxapp] Error 2 make[2]: *** [librte_eal] Error 2 make[1]: *** [lib] Error 2 make: *** [all] Error 2 error: Bad exit status from /var/tmp/rpm-tmp.b7GNzi (%build) --- So, this is not related to "PCI: MSI: Move MSI-X entry definition to pci_regs.h" anymore... I'm still looking for a way to build and package the latest DPDK on CentOS 6.8 box. I appreciate any help... Thanks! Thiago ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [dpdk-dev] Can't build DPDK-16.04 on CentOS 6.8 2016-06-15 18:59 ` Martinx - ジェームズ @ 2016-06-15 20:27 ` Murali Krishna 2016-06-16 15:31 ` Ferruh Yigit 1 sibling, 0 replies; 17+ messages in thread From: Murali Krishna @ 2016-06-15 20:27 UTC (permalink / raw) To: Martinx - ジェームズ, Rosen, Rami Cc: Yigit, Ferruh, dev Hi, I faced the same problem while building dpdk(1.7.1, 1.8.0, 2.0.0, 2.2.0) on Rhel6.8 GA kernel. Disabling CONFIG_RTE_EAL_IGB_UIO and CONFIG_RTE_KNI_KMOD in dpdk-X/config/common_linuxapp resolved this issue. Br, Murali -----Original Message----- From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Martinx - ????? Sent: Thursday, June 16, 2016 12:29 AM To: Rosen, Rami Cc: Yigit, Ferruh; dev Subject: Re: [dpdk-dev] Can't build DPDK-16.04 on CentOS 6.8 On 13 June 2016 at 12:15, Martinx - ジェームズ <thiagocmartinsc@gmail.com> wrote: > > > On 12 June 2016 at 11:30, Rosen, Rami <rami.rosen@intel.com> wrote: > >> Hi Thiago, >> >> > Any clue? >> >> Sure. This is the reason: in >> dpdk-16.04/lib/librte_eal/linuxapp/igb_uio >> we have: >> .... >> #ifndef PCI_MSIX_ENTRY_SIZE >> #define PCI_MSIX_ENTRY_SIZE 16 >> #define PCI_MSIX_ENTRY_LOWER_ADDR 0 >> #define PCI_MSIX_ENTRY_UPPER_ADDR 4 >> #define PCI_MSIX_ENTRY_DATA 8 >> #define PCI_MSIX_ENTRY_VECTOR_CTRL 12 >> #define PCI_MSIX_ENTRY_CTRL_MASKBIT 1 >> #endif >> ... >> >> The root cause of the problem is due to that in CentOS 6.8, >> PCI_MSIX_ENTRY_SIZE is defined; this causes *avoiding* having the >> PCI_MSIX_ENTRY_CTRL_MASKBIT definition as shown above. >> >> The definition of PCI_MSIX_ENTRY_SIZE is due to the following patch, >> which was introduced in CentOS 6.8, which moved PCI_MSIX_ENTRY_SIZE >> from the inner drivers/pci/msi.h header file into >> include/linux/pci_regs.h, The linux/pci_regs.h is included in the >> pci.h header, which is used by the igb_uio.c, which failed in >> compilation. >> >> "PATCH 1/8] PCI: MSI: Move MSI-X entry definition to pci_regs.h" >> >> --- a/drivers/pci/msi.h >> +++ b/drivers/pci/msi.h >> @@ -6,12 +6,6 @@ >> #ifndef MSI_H >> #define MSI_H >> >> -#define PCI_MSIX_ENTRY_SIZE 16 >> ... >> ... >> ... >> diff --git a/include/linux/pci_regs.h b/include/linux/pci_regs.h >> index 455b9cc..acfc224 100644 >> --- a/include/linux/pci_regs.h >> +++ b/include/linux/pci_regs.h >> @@ -307,6 +307,13 @@ >> #define PCI_MSIX_FLAGS_MASKALL (1 << 14) #define >> PCI_MSIX_FLAGS_BIRMASK (7 << 0) >> >> +/* MSI-X entry's format */ >> +#define PCI_MSIX_ENTRY_SIZE 16 >> .... >> >> >> http://linux-pci.vger.kernel.narkive.com/cZquopIw/patch-1-8-pci-msi-m >> ove-msi-x-entry-definition-to-pci-regs-h >> >> See also: >> rpm -qp --changelog kernel-devel-2.6.32-642.el6.x86_64.rpm | grep >> "Move MSI-X entry" >> warning: kernel-devel-2.6.32-642.el6.x86_64.rpm: Header V3 RSA/SHA1 >> Signature, key ID c105b9de: NOKEY >> - [pci] msi: Move MSI-X entry definition to pci_regs.h (Myron Stowe) >> [1288629 >> >> >> A proper patch which checks kernel version can fix it. >> >> Regards, >> Rami Rosen >> Intel Corporation >> >> > Interesting! > > Do you have this proper fix? I would like to build and use DPDK on > CentOS 6.8... > > Thank you for your reply! > > Best, > Thiago > Hey guys, I tried something different, just for testing, and it also doesn't build. What I tried was to install the "centos-release-xen" repo, and run "yum upgrade" in my CentOS 6.8 box, this way, I can receive a new Kernel for it, which is "3.18.34-20.el6.x86_64", and here is the DPDK build error now: --- ........... CC eal_common_dev.o cc1: warnings being treated as errors /root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c: In function 'igbuio_pci_probe': /usr/src/kernels/3.18.34-20.el6.x86_64/include/linux/slab.h:582: error: inlining failed in call to 'kzalloc.clone.0': --param max-inline-insns-single limit reached /root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c:383: error: called from here 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_common_options.o CC eal_common_thread.o CC eal_common_proc.o CC rte_malloc.o CC malloc_elem.o CC malloc_heap.o CC rte_keepalive.o CC rte_cpuflags.o SYMLINK-FILE include/exec-env/rte_interrupts.h SYMLINK-FILE include/exec-env/rte_kni_common.h SYMLINK-FILE include/exec-env/rte_dom0_common.h LD librte_eal.so.2 INSTALL-LIB librte_eal.so.2 make[3]: *** [linuxapp] Error 2 make[2]: *** [librte_eal] Error 2 make[1]: *** [lib] Error 2 make: *** [all] Error 2 error: Bad exit status from /var/tmp/rpm-tmp.b7GNzi (%build) --- So, this is not related to "PCI: MSI: Move MSI-X entry definition to pci_regs.h" anymore... I'm still looking for a way to build and package the latest DPDK on CentOS 6.8 box. I appreciate any help... Thanks! Thiago ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [dpdk-dev] Can't build DPDK-16.04 on CentOS 6.8 2016-06-15 18:59 ` Martinx - ジェームズ 2016-06-15 20:27 ` Murali Krishna @ 2016-06-16 15:31 ` Ferruh Yigit 2016-06-29 2:38 ` Martinx - ジェームズ 1 sibling, 1 reply; 17+ messages in thread From: Ferruh Yigit @ 2016-06-16 15:31 UTC (permalink / raw) To: Martinx - ジェームズ, Rosen, Rami; +Cc: dev On 6/15/2016 7:59 PM, Martinx - ジェームズ wrote: > On 13 June 2016 at 12:15, Martinx - ジェームズ > <thiagocmartinsc@gmail.com <mailto:thiagocmartinsc@gmail.com>> wrote: > > > > On 12 June 2016 at 11:30, Rosen, Rami <rami.rosen@intel.com > <mailto:rami.rosen@intel.com>> wrote: > > Hi Thiago, > > > Any clue? > > Sure. This is the reason: in > dpdk-16.04/lib/librte_eal/linuxapp/igb_uio we have: > .... > #ifndef PCI_MSIX_ENTRY_SIZE > #define PCI_MSIX_ENTRY_SIZE 16 > #define PCI_MSIX_ENTRY_LOWER_ADDR 0 > #define PCI_MSIX_ENTRY_UPPER_ADDR 4 > #define PCI_MSIX_ENTRY_DATA 8 > #define PCI_MSIX_ENTRY_VECTOR_CTRL 12 > #define PCI_MSIX_ENTRY_CTRL_MASKBIT 1 > #endif > ... > > The root cause of the problem is due to that in CentOS 6.8, > PCI_MSIX_ENTRY_SIZE is defined; this > causes *avoiding* having the PCI_MSIX_ENTRY_CTRL_MASKBIT > definition as shown above. > > The definition of PCI_MSIX_ENTRY_SIZE is due to the following > patch, which was introduced in CentOS 6.8, which moved > PCI_MSIX_ENTRY_SIZE from the inner drivers/pci/msi.h header file > into include/linux/pci_regs.h, > The linux/pci_regs.h is included in the pci.h header, which is > used by the igb_uio.c, which failed in compilation. > > "PATCH 1/8] PCI: MSI: Move MSI-X entry definition to pci_regs.h" > > --- a/drivers/pci/msi.h > +++ b/drivers/pci/msi.h > @@ -6,12 +6,6 @@ > #ifndef MSI_H > #define MSI_H > > -#define PCI_MSIX_ENTRY_SIZE 16 > ... > ... > ... > diff --git a/include/linux/pci_regs.h b/include/linux/pci_regs.h > index 455b9cc..acfc224 100644 > --- a/include/linux/pci_regs.h > +++ b/include/linux/pci_regs.h > @@ -307,6 +307,13 @@ > #define PCI_MSIX_FLAGS_MASKALL (1 << 14) > #define PCI_MSIX_FLAGS_BIRMASK (7 << 0) > > +/* MSI-X entry's format */ > +#define PCI_MSIX_ENTRY_SIZE 16 > .... > > http://linux-pci.vger.kernel.narkive.com/cZquopIw/patch-1-8-pci-msi-move-msi-x-entry-definition-to-pci-regs-h > > See also: > rpm -qp --changelog kernel-devel-2.6.32-642.el6.x86_64.rpm | > grep "Move MSI-X entry" > warning: kernel-devel-2.6.32-642.el6.x86_64.rpm: Header V3 > RSA/SHA1 Signature, key ID c105b9de: NOKEY > - [pci] msi: Move MSI-X entry definition to pci_regs.h (Myron > Stowe) [1288629 > > > A proper patch which checks kernel version can fix it. > > Regards, > Rami Rosen > Intel Corporation > > > Interesting! > > Do you have this proper fix? I would like to build and use DPDK on > CentOS 6.8... > > Thank you for your reply! > > Best, > Thiago > > > Hey guys, > > I tried something different, just for testing, and it also doesn't build. > > What I tried was to install the "centos-release-xen" repo, and run "yum > upgrade" in my CentOS 6.8 box, this way, I can receive a new Kernel for > it, which is "3.18.34-20.el6.x86_64", and here is the DPDK build error now: > > --- > ........... > CC eal_common_dev.o > cc1: warnings being treated as errors > /root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c: > In function 'igbuio_pci_probe': > /usr/src/kernels/3.18.34-20.el6.x86_64/include/linux/slab.h:582: error: > inlining failed in call to 'kzalloc.clone.0': --param > max-inline-insns-single limit reached > /root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c:383: > error: called from here > 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 <...> I did able to compile dpdk16.04 with 3.18.34-20.el6.x86_64, is the problem can be related to gcc version? For me both gcc 5.3.1 and 4.9.3 worked fine. Or for "max-inline-insns-single limit reached" issue you can try increasing the gcc limit: -finline-limit=n > I'm still looking for a way to build and package the latest DPDK on > CentOS 6.8 box. > > I appreciate any help... > > Thanks! > Thiago ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [dpdk-dev] Can't build DPDK-16.04 on CentOS 6.8 2016-06-16 15:31 ` Ferruh Yigit @ 2016-06-29 2:38 ` Martinx - ジェームズ 0 siblings, 0 replies; 17+ messages in thread From: Martinx - ジェームズ @ 2016-06-29 2:38 UTC (permalink / raw) To: Ferruh Yigit; +Cc: Rosen, Rami, dev On 16 June 2016 at 11:31, Ferruh Yigit <ferruh.yigit@intel.com> wrote: > On 6/15/2016 7:59 PM, Martinx - ジェームズ wrote: > > On 13 June 2016 at 12:15, Martinx - ジェームズ > > <thiagocmartinsc@gmail.com <mailto:thiagocmartinsc@gmail.com>> wrote: > > > > > > > > On 12 June 2016 at 11:30, Rosen, Rami <rami.rosen@intel.com > > <mailto:rami.rosen@intel.com>> wrote: > > > > Hi Thiago, > > > > > Any clue? > > > > Sure. This is the reason: in > > dpdk-16.04/lib/librte_eal/linuxapp/igb_uio we have: > > .... > > #ifndef PCI_MSIX_ENTRY_SIZE > > #define PCI_MSIX_ENTRY_SIZE 16 > > #define PCI_MSIX_ENTRY_LOWER_ADDR 0 > > #define PCI_MSIX_ENTRY_UPPER_ADDR 4 > > #define PCI_MSIX_ENTRY_DATA 8 > > #define PCI_MSIX_ENTRY_VECTOR_CTRL 12 > > #define PCI_MSIX_ENTRY_CTRL_MASKBIT 1 > > #endif > > ... > > > > The root cause of the problem is due to that in CentOS 6.8, > > PCI_MSIX_ENTRY_SIZE is defined; this > > causes *avoiding* having the PCI_MSIX_ENTRY_CTRL_MASKBIT > > definition as shown above. > > > > The definition of PCI_MSIX_ENTRY_SIZE is due to the following > > patch, which was introduced in CentOS 6.8, which moved > > PCI_MSIX_ENTRY_SIZE from the inner drivers/pci/msi.h header file > > into include/linux/pci_regs.h, > > The linux/pci_regs.h is included in the pci.h header, which is > > used by the igb_uio.c, which failed in compilation. > > > > "PATCH 1/8] PCI: MSI: Move MSI-X entry definition to pci_regs.h" > > > > --- a/drivers/pci/msi.h > > +++ b/drivers/pci/msi.h > > @@ -6,12 +6,6 @@ > > #ifndef MSI_H > > #define MSI_H > > > > -#define PCI_MSIX_ENTRY_SIZE 16 > > ... > > ... > > ... > > diff --git a/include/linux/pci_regs.h b/include/linux/pci_regs.h > > index 455b9cc..acfc224 100644 > > --- a/include/linux/pci_regs.h > > +++ b/include/linux/pci_regs.h > > @@ -307,6 +307,13 @@ > > #define PCI_MSIX_FLAGS_MASKALL (1 << 14) > > #define PCI_MSIX_FLAGS_BIRMASK (7 << 0) > > > > +/* MSI-X entry's format */ > > +#define PCI_MSIX_ENTRY_SIZE 16 > > .... > > > > > http://linux-pci.vger.kernel.narkive.com/cZquopIw/patch-1-8-pci-msi-move-msi-x-entry-definition-to-pci-regs-h > > > > See also: > > rpm -qp --changelog kernel-devel-2.6.32-642.el6.x86_64.rpm | > > grep "Move MSI-X entry" > > warning: kernel-devel-2.6.32-642.el6.x86_64.rpm: Header V3 > > RSA/SHA1 Signature, key ID c105b9de: NOKEY > > - [pci] msi: Move MSI-X entry definition to pci_regs.h (Myron > > Stowe) [1288629 > > > > > > A proper patch which checks kernel version can fix it. > > > > Regards, > > Rami Rosen > > Intel Corporation > > > > > > Interesting! > > > > Do you have this proper fix? I would like to build and use DPDK on > > CentOS 6.8... > > > > Thank you for your reply! > > > > Best, > > Thiago > > > > > > Hey guys, > > > > I tried something different, just for testing, and it also doesn't build. > > > > What I tried was to install the "centos-release-xen" repo, and run "yum > > upgrade" in my CentOS 6.8 box, this way, I can receive a new Kernel for > > it, which is "3.18.34-20.el6.x86_64", and here is the DPDK build error > now: > > > > --- > > ........... > > CC eal_common_dev.o > > cc1: warnings being treated as errors > > > /root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c: > > In function 'igbuio_pci_probe': > > /usr/src/kernels/3.18.34-20.el6.x86_64/include/linux/slab.h:582: error: > > inlining failed in call to 'kzalloc.clone.0': --param > > max-inline-insns-single limit reached > > > /root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c:383: > > error: called from here > > 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 > <...> > > I did able to compile dpdk16.04 with 3.18.34-20.el6.x86_64, is the > problem can be related to gcc version? For me both gcc 5.3.1 and 4.9.3 > worked fine. > > Or for "max-inline-insns-single limit reached" issue you can try > increasing the gcc limit: -finline-limit=n > > Hey Ferruh, I'm facing this "max-inline-insns-single limit reached" problem now (while trying to compile DPDK-16.04 on "3.18.34-20.el6.x86_64". So, as you suggested, I changed the limit from 100 to 400, here: dpdk-16.04/lib/librte_eal/linuxapp/igb_uio/Makefile ...and it worked! The CentOS 6.8 "centos-xen-release" YUM/RPM package brings Linux 3.18 to it, a new life for an old O.S... That's good... :-) Thanks! Thiago > I'm still looking for a way to build and package the latest DPDK on > > CentOS 6.8 box. > > > > I appreciate any help... > > > > Thanks! > > Thiago > > ^ permalink raw reply [flat|nested] 17+ messages in thread
* [dpdk-dev] [PATCH] igb_uio: fix build with backported kernel 2016-06-12 15:30 ` Rosen, Rami 2016-06-13 16:15 ` Martinx - ジェームズ @ 2016-06-15 15:57 ` Ferruh Yigit 2016-06-15 15:59 ` Ferruh Yigit 2016-06-21 14:12 ` Thomas Monjalon 1 sibling, 2 replies; 17+ messages in thread From: Ferruh Yigit @ 2016-06-15 15:57 UTC (permalink / raw) To: dev; +Cc: Rami Rosen, thiagocmartinsc, Ferruh Yigit Following compile error observed with CentOS 6.8, which uses kernel kernel-devel-2.6.32-642.el6.x86_64: CC eal_thread.o .../build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c: In function 'igbuio_msix_mask_irq': .../build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c:157: error: 'PCI_MSIX_ENTRY_CTRL_MASKBIT' undeclared (first use in this function) Reported-by: Thiago <thiagocmartinsc@gmail.com> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> --- lib/librte_eal/linuxapp/igb_uio/compat.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/librte_eal/linuxapp/igb_uio/compat.h b/lib/librte_eal/linuxapp/igb_uio/compat.h index c1d45a6..0d781e4 100644 --- a/lib/librte_eal/linuxapp/igb_uio/compat.h +++ b/lib/librte_eal/linuxapp/igb_uio/compat.h @@ -24,6 +24,15 @@ #define PCI_MSIX_ENTRY_CTRL_MASKBIT 1 #endif +/* + * for kernels < 2.6.38 and backported patch that moves MSI-X entry definition + * to pci_regs.h Those kernels has PCI_MSIX_ENTRY_SIZE defined but not + * PCI_MSIX_ENTRY_CTRL_MASKBIT + */ +#ifndef PCI_MSIX_ENTRY_CTRL_MASKBIT +#define PCI_MSIX_ENTRY_CTRL_MASKBIT 1 +#endif + #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34) && \ (!(defined(RHEL_RELEASE_CODE) && \ RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(5, 9))) -- 2.5.5 ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [dpdk-dev] [PATCH] igb_uio: fix build with backported kernel 2016-06-15 15:57 ` [dpdk-dev] [PATCH] igb_uio: fix build with backported kernel Ferruh Yigit @ 2016-06-15 15:59 ` Ferruh Yigit 2016-06-16 15:45 ` Martinx - ジェームズ 2016-06-21 14:12 ` Thomas Monjalon 1 sibling, 1 reply; 17+ messages in thread From: Ferruh Yigit @ 2016-06-15 15:59 UTC (permalink / raw) To: thiagocmartinsc; +Cc: dev, Rami Rosen On 6/15/2016 4:57 PM, Ferruh Yigit wrote: > Following compile error observed with CentOS 6.8, which uses kernel > kernel-devel-2.6.32-642.el6.x86_64: > > CC eal_thread.o > .../build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c: > In function 'igbuio_msix_mask_irq': > .../build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c:157: > error: 'PCI_MSIX_ENTRY_CTRL_MASKBIT' undeclared (first use in this > function) > > Reported-by: Thiago <thiagocmartinsc@gmail.com> > Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Hi Thiago, Can you please test this patch? Thanks, ferruh ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [dpdk-dev] [PATCH] igb_uio: fix build with backported kernel 2016-06-15 15:59 ` Ferruh Yigit @ 2016-06-16 15:45 ` Martinx - ジェームズ 2016-06-17 9:15 ` Ferruh Yigit 0 siblings, 1 reply; 17+ messages in thread From: Martinx - ジェームズ @ 2016-06-16 15:45 UTC (permalink / raw) To: Ferruh Yigit; +Cc: dev, Rami Rosen On 15 June 2016 at 11:59, Ferruh Yigit <ferruh.yigit@intel.com> wrote: > On 6/15/2016 4:57 PM, Ferruh Yigit wrote: > > Following compile error observed with CentOS 6.8, which uses kernel > > kernel-devel-2.6.32-642.el6.x86_64: > > > > CC eal_thread.o > > .../build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c: > > In function 'igbuio_msix_mask_irq': > > .../build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c:157: > > error: 'PCI_MSIX_ENTRY_CTRL_MASKBIT' undeclared (first use in this > > function) > > > > Reported-by: Thiago <thiagocmartinsc@gmail.com> > > Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> > > Hi Thiago, > > Can you please test this patch? > > Thanks, > ferruh > > Hi Ferruh, That patch applied and worked (kind of): --- [root@centos6-1 dpdk-16.04]# patch -p1 < ../dpdk-centos6.patch patching file lib/librte_eal/linuxapp/igb_uio/compat.h Hunk #1 succeeded at 24 with fuzz 2. --- It passed that broken step, however, it is failing in a different part of build process now, as follows: --- [root@centos6-1 ~]# time rpmbuild --ba /root/rpmbuild/SPECS/dpdk.spec ....... ....... LD librte_eal.so.2 INSTALL-LIB librte_eal.so.2 == Build lib/librte_eal/linuxapp/kni LD /root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/built-in.o CC [M] /root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/ixgbe_main.o CC [M] /root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/ixgbe_api.o In file included from /root/rpmbuild/BUILD/dpdk-16.04/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_osdep.h:41, from /root/rpmbuild/BUILD/dpdk-16.04/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_type.h:31, from /root/rpmbuild/BUILD/dpdk-16.04/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_api.h:31, from /root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/ixgbe_api.c:28: /root/rpmbuild/BUILD/dpdk-16.04/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.h: In function '__kc_vlan_get_protocol': /root/rpmbuild/BUILD/dpdk-16.04/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.h:2836: error: implicit declaration of function 'vlan_tx_tag_present' make[8]: *** [/root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/ixgbe_api.o] Error 1 make[8]: *** Waiting for unfinished jobs.... In file included from /root/rpmbuild/BUILD/dpdk-16.04/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_osdep.h:41, from /root/rpmbuild/BUILD/dpdk-16.04/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_type.h:31, from /root/rpmbuild/BUILD/dpdk-16.04/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_dcb.h:32, from /root/rpmbuild/BUILD/dpdk-16.04/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe.h:52, from /root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/ixgbe_main.c:56: /root/rpmbuild/BUILD/dpdk-16.04/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.h: In function '__kc_vlan_get_protocol': /root/rpmbuild/BUILD/dpdk-16.04/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.h:2836: error: implicit declaration of function 'vlan_tx_tag_present' make[8]: *** [/root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/ixgbe_main.o] Error 1 make[7]: *** [_module_/root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni] Error 2 make[6]: *** [sub-make] Error 2 make[5]: *** [rte_kni.ko] Error 2 make[4]: *** [kni] Error 2 make[3]: *** [linuxapp] Error 2 make[2]: *** [librte_eal] Error 2 make[1]: *** [lib] Error 2 make: *** [all] Error 2 error: Bad exit status from /var/tmp/rpm-tmp.Naoj9c (%build) --- Might be a totally different problem now, I don't know... :-) Best, Thiago ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [dpdk-dev] [PATCH] igb_uio: fix build with backported kernel 2016-06-16 15:45 ` Martinx - ジェームズ @ 2016-06-17 9:15 ` Ferruh Yigit 0 siblings, 0 replies; 17+ messages in thread From: Ferruh Yigit @ 2016-06-17 9:15 UTC (permalink / raw) To: Martinx - ジェームズ; +Cc: dev, Rami Rosen On 6/16/2016 4:45 PM, Martinx - ジェームズ wrote: > On 15 June 2016 at 11:59, Ferruh Yigit <ferruh.yigit@intel.com > <mailto:ferruh.yigit@intel.com>> wrote: > > On 6/15/2016 4:57 PM, Ferruh Yigit wrote: > > Following compile error observed with CentOS 6.8, which uses kernel > > kernel-devel-2.6.32-642.el6.x86_64: > > > > CC eal_thread.o > > .../build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c: > > In function 'igbuio_msix_mask_irq': > > .../build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c:157: > > error: 'PCI_MSIX_ENTRY_CTRL_MASKBIT' undeclared (first use in this > > function) > > > > Reported-by: Thiago <thiagocmartinsc@gmail.com <mailto:thiagocmartinsc@gmail.com>> > > Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com <mailto:ferruh.yigit@intel.com>> > > Hi Thiago, > > Can you please test this patch? > > Thanks, > ferruh > > > Hi Ferruh, > > That patch applied and worked (kind of): > > --- > [root@centos6-1 dpdk-16.04]# patch -p1 < ../dpdk-centos6.patch > patching file lib/librte_eal/linuxapp/igb_uio/compat.h > Hunk #1 succeeded at 24 with fuzz 2. > --- > > It passed that broken step, however, it is failing in a different part > of build process now, as follows: > > --- > [root@centos6-1 ~]# time rpmbuild --ba /root/rpmbuild/SPECS/dpdk.spec > ....... > ....... > LD librte_eal.so.2 > INSTALL-LIB librte_eal.so.2 > == Build lib/librte_eal/linuxapp/kni > LD > /root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/built-in.o > CC [M] > /root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/ixgbe_main.o > CC [M] > /root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/ixgbe_api.o > In file included from > /root/rpmbuild/BUILD/dpdk-16.04/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_osdep.h:41, > from > /root/rpmbuild/BUILD/dpdk-16.04/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_type.h:31, > from > /root/rpmbuild/BUILD/dpdk-16.04/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_api.h:31, > from > /root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/ixgbe_api.c:28: > /root/rpmbuild/BUILD/dpdk-16.04/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.h: > In function '__kc_vlan_get_protocol': > /root/rpmbuild/BUILD/dpdk-16.04/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.h:2836: > error: implicit declaration of function 'vlan_tx_tag_present' Because skb_vlan_tag_present renamed in Linux 3.19 (commit: df8a39d) and this commit backported in this kernel. This error can be also fixed, but another compile error pops up. This is hard to keep up, because kernel version is old (2.6.32) but backported latest commits. We are not able to rely on kernel version checks or define checks. If you don't need KNI you can either: 1- Disable it from configuration file 2- Compile kernel modules against newer kernel version using RTE_KERNELDIR, like: "make RTE_KERNELDIR=/tmp/latest_linux_version" As far as I can see you are using spec file to compile, is this spec file distributed with DPDK? If so, perhaps you can share your updates to spec file? > > Might be a totally different problem now, I don't know... :-) > > Best, > Thiago ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [dpdk-dev] [PATCH] igb_uio: fix build with backported kernel 2016-06-15 15:57 ` [dpdk-dev] [PATCH] igb_uio: fix build with backported kernel Ferruh Yigit 2016-06-15 15:59 ` Ferruh Yigit @ 2016-06-21 14:12 ` Thomas Monjalon 1 sibling, 0 replies; 17+ messages in thread From: Thomas Monjalon @ 2016-06-21 14:12 UTC (permalink / raw) To: Ferruh Yigit; +Cc: dev, Rami Rosen, thiagocmartinsc 2016-06-15 16:57, Ferruh Yigit: > Following compile error observed with CentOS 6.8, which uses kernel > kernel-devel-2.6.32-642.el6.x86_64: > > CC eal_thread.o > .../build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c: > In function 'igbuio_msix_mask_irq': > .../build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c:157: > error: 'PCI_MSIX_ENTRY_CTRL_MASKBIT' undeclared (first use in this > function) > > Reported-by: Thiago <thiagocmartinsc@gmail.com> > Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Applied, thanks ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [dpdk-dev] [PATCH] igb_uio: fix build with backported kernel @ 2016-11-02 16:19 martin_curran-gray 2016-11-02 16:30 ` Ferruh Yigit 0 siblings, 1 reply; 17+ messages in thread From: martin_curran-gray @ 2016-11-02 16:19 UTC (permalink / raw) To: dev Hi , Sorry, struggling to see what happened to this thread I managed to get dpdk 2.2.0 to build on CentOs 6.8 by sorting the MSIX_ENTRY_CTRL_MASKBIT But I'm trying to get 16.7 to run on 6.8, and am hitting the vlan_tx_tag_present(_skb) I tried just putting a bare #define vlan_tx_tag_present(_skb) 0 line in the two kcompat.h files one for igb and one for ixgbe but I'm hitting other issues now. /root/mcgray/dpdk-16.07/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/kni_misc.c:441:20: error: macro "alloc_netdev" passed 4 arguments, but takes just 3 I had already turned of KNI in my config file, so why is the dpdk-setup.sh even trying to build this stuff?? I don't need KNI as far as I know I saw mention of backported kernel? I guess my 16.7 is a few months old now, if I go and get another download will this all just go away? Thanks Sry, this stuff all a bit beyond my experience so far. Martin Curran-Gray ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [dpdk-dev] [PATCH] igb_uio: fix build with backported kernel 2016-11-02 16:19 martin_curran-gray @ 2016-11-02 16:30 ` Ferruh Yigit 2016-11-02 16:40 ` martin_curran-gray 0 siblings, 1 reply; 17+ messages in thread From: Ferruh Yigit @ 2016-11-02 16:30 UTC (permalink / raw) To: martin_curran-gray, dev On 11/2/2016 4:19 PM, martin_curran-gray@keysight.com wrote: > Hi , > > Sorry, struggling to see what happened to this thread > > I managed to get dpdk 2.2.0 to build on CentOs 6.8 by sorting the MSIX_ENTRY_CTRL_MASKBIT > > But I'm trying to get 16.7 to run on 6.8, and am hitting the vlan_tx_tag_present(_skb) > > I tried just putting a bare > #define vlan_tx_tag_present(_skb) 0 > line in the two kcompat.h files > one for igb and one for ixgbe > > but I'm hitting other issues now. > > /root/mcgray/dpdk-16.07/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/kni_misc.c:441:20: error: macro "alloc_netdev" passed 4 arguments, but takes just 3 > > I had already turned of KNI in my config file, so why is the dpdk-setup.sh even trying to build this stuff?? I guess it is not disabled properly. How are you disabling KNI? > > I don't need KNI as far as I know > > I saw mention of backported kernel? > > I guess my 16.7 is a few months old now, if I go and get another download will this all just go away? > > Thanks > > Sry, this stuff all a bit beyond my experience so far. > > > > Martin Curran-Gray > ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [dpdk-dev] [PATCH] igb_uio: fix build with backported kernel 2016-11-02 16:30 ` Ferruh Yigit @ 2016-11-02 16:40 ` martin_curran-gray 0 siblings, 0 replies; 17+ messages in thread From: martin_curran-gray @ 2016-11-02 16:40 UTC (permalink / raw) To: ferruh.yigit, dev Hi, I set CONFIG_RTE_LIBRTE_KNI=n In common_linux_app Hmmm I didn't set CONFIG_RTE_KNI_KMOD=n It was a y Lets see Ah success Thanks! M. -----Original Message----- From: Ferruh Yigit [mailto:ferruh.yigit@intel.com] Sent: 02 November 2016 16:31 To: CURRAN-GRAY,MARTIN (K-Scotland,ex1) <martin_curran-gray@keysight.com>; dev@dpdk.org Subject: Re: [dpdk-dev] [PATCH] igb_uio: fix build with backported kernel On 11/2/2016 4:19 PM, martin_curran-gray@keysight.com wrote: > Hi , > > Sorry, struggling to see what happened to this thread > > I managed to get dpdk 2.2.0 to build on CentOs 6.8 by sorting the MSIX_ENTRY_CTRL_MASKBIT > > But I'm trying to get 16.7 to run on 6.8, and am hitting the vlan_tx_tag_present(_skb) > > I tried just putting a bare > #define vlan_tx_tag_present(_skb) 0 > line in the two kcompat.h files > one for igb and one for ixgbe > > but I'm hitting other issues now. > > /root/mcgray/dpdk-16.07/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/kni_misc.c:441:20: error: macro "alloc_netdev" passed 4 arguments, but takes just 3 > > I had already turned of KNI in my config file, so why is the dpdk-setup.sh even trying to build this stuff?? I guess it is not disabled properly. How are you disabling KNI? > > I don't need KNI as far as I know > > I saw mention of backported kernel? > > I guess my 16.7 is a few months old now, if I go and get another download will this all just go away? > > Thanks > > Sry, this stuff all a bit beyond my experience so far. > > > > Martin Curran-Gray > ^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2016-11-02 16:40 UTC | newest] Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2016-06-01 20:07 [dpdk-dev] Can't build DPDK-16.04 on CentOS 6.8 Martinx - ジェームズ 2016-06-03 10:45 ` Ferruh Yigit 2016-06-03 15:17 ` Martinx - ジェームズ 2016-06-12 15:30 ` Rosen, Rami 2016-06-13 16:15 ` Martinx - ジェームズ 2016-06-15 18:59 ` Martinx - ジェームズ 2016-06-15 20:27 ` Murali Krishna 2016-06-16 15:31 ` Ferruh Yigit 2016-06-29 2:38 ` Martinx - ジェームズ 2016-06-15 15:57 ` [dpdk-dev] [PATCH] igb_uio: fix build with backported kernel Ferruh Yigit 2016-06-15 15:59 ` Ferruh Yigit 2016-06-16 15:45 ` Martinx - ジェームズ 2016-06-17 9:15 ` Ferruh Yigit 2016-06-21 14:12 ` Thomas Monjalon 2016-11-02 16:19 martin_curran-gray 2016-11-02 16:30 ` Ferruh Yigit 2016-11-02 16:40 ` martin_curran-gray
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).