Message ID | 1466006262-30228-1-git-send-email-ferruh.yigit@intel.com (mailing list archive) |
---|---|
State | Accepted, archived |
Delegated to: | Thomas Monjalon |
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 2BBE7CB6A; Wed, 15 Jun 2016 17:57:49 +0200 (CEST) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 83AFDCB66 for <dev@dpdk.org>; Wed, 15 Jun 2016 17:57:47 +0200 (CEST) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga102.fm.intel.com with ESMTP; 15 Jun 2016 08:57:46 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.26,476,1459839600"; d="scan'208";a="998252005" Received: from irvmail001.ir.intel.com ([163.33.26.43]) by orsmga002.jf.intel.com with ESMTP; 15 Jun 2016 08:57:45 -0700 Received: from sivswdev02.ir.intel.com (sivswdev02.ir.intel.com [10.237.217.46]) by irvmail001.ir.intel.com (8.14.3/8.13.6/MailSET/Hub) with ESMTP id u5FFvi7K017473; Wed, 15 Jun 2016 16:57:44 +0100 Received: from sivswdev02.ir.intel.com (localhost [127.0.0.1]) by sivswdev02.ir.intel.com with ESMTP id u5FFvi71030262; Wed, 15 Jun 2016 16:57:44 +0100 Received: (from fyigit@localhost) by sivswdev02.ir.intel.com with id u5FFviVK030258; Wed, 15 Jun 2016 16:57:44 +0100 From: Ferruh Yigit <ferruh.yigit@intel.com> To: dev@dpdk.org Cc: Rami Rosen <rami.rosen@intel.com>, thiagocmartinsc@gmail.com, Ferruh Yigit <ferruh.yigit@intel.com> Date: Wed, 15 Jun 2016 16:57:42 +0100 Message-Id: <1466006262-30228-1-git-send-email-ferruh.yigit@intel.com> X-Mailer: git-send-email 1.7.4.1 In-Reply-To: <9B0331B6EBBD0E4684FBFAEDA55776F92CD5CBC7@HASMSX110.ger.corp.intel.com> References: <9B0331B6EBBD0E4684FBFAEDA55776F92CD5CBC7@HASMSX110.ger.corp.intel.com> Subject: [dpdk-dev] [PATCH] igb_uio: fix build with backported kernel X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK <dev.dpdk.org> List-Unsubscribe: <http://dpdk.org/ml/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://dpdk.org/ml/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <http://dpdk.org/ml/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Commit Message
Ferruh Yigit
June 15, 2016, 3:57 p.m. UTC
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(+)
Comments
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
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
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
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
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)))