From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Hemminger Subject: Re: [PATCH v3 2/6] net/virtio: fix wrong Rx/Tx method for secondary process Date: Sun, 8 Jan 2017 15:15:00 -0800 Message-ID: <20170108151500.3272484c@xeon-e3> References: <1482922962-21036-1-git-send-email-yuanhan.liu@linux.intel.com> <1483697780-12088-1-git-send-email-yuanhan.liu@linux.intel.com> <1483697780-12088-3-git-send-email-yuanhan.liu@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Cc: dev@dpdk.org, stable@dpdk.org To: Yuanhan Liu Return-path: Received: from mail-pg0-f52.google.com (mail-pg0-f52.google.com [74.125.83.52]) by dpdk.org (Postfix) with ESMTP id BE3922A58 for ; Mon, 9 Jan 2017 00:15:08 +0100 (CET) Received: by mail-pg0-f52.google.com with SMTP id 204so15675613pge.0 for ; Sun, 08 Jan 2017 15:15:08 -0800 (PST) In-Reply-To: <1483697780-12088-3-git-send-email-yuanhan.liu@linux.intel.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Fri, 6 Jan 2017 18:16:16 +0800 Yuanhan Liu wrote: > If the primary enables the vector Rx/Tx path, the current code would > let the secondary always choose the non vector Rx/Tx path. This results > to a Rx/Tx method mismatch between primary and secondary process. Werid > errors then may happen, something like: >=20 > PMD: virtio_xmit_pkts() tx: virtqueue_enqueue error: -14 >=20 > Fix it by choosing the correct Rx/Tx callbacks for the secondary process. > That is, use vector path if it's given. >=20 > Fixes: 8d8393fb1861 ("virtio: pick simple Rx/Tx") >=20 > Cc: stable@dpdk.org > Signed-off-by: Yuanhan Liu This is failing on intel compile tests. http://dpdk.org/patch/18975 _Compilation issues_ Submitter: Yuanhan Liu Date: Fri, 6 Jan 2017 18:16:18 +0800 DPDK git baseline: Repo:dpdk-next-virtio, Branch:master, CommitID:2b2669fc4= c792f9a3ab73490bb93f7810a71c089 Patch18974-18975 --> compile error Build Summary: 18 Builds Done, 0 Successful, 18 Failures Test environment and configuration as below: OS: RHEL7.2_64 Kernel Version:3.10.0-327.el7.x86_64 CPU info:Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz GCC Version:gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4) Clang Version:3.4.2 i686-native-linuxapp-gcc x86_64-native-linuxapp-gcc x86_64-native-linuxapp-gcc-shared OS: FreeBSD10.3_64 Kernel Version:10.3-RELEASE CPU info: Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz (2194.97-MHz K8-cla= ss CPU) GCC Version:gcc (FreeBSD Ports Collection) 4.8.5 Clang Version:3.4.1 x86_64-native-bsdapp-clang x86_64-native-bsdapp-gcc OS: FC24_64 Kernel Version:4.8.6-201.fc24.x86_64 CPU info:Intel(R) Xeon(R) CPU E5-2699 v3 @ 2.30GHz GCC Version:gcc (GCC) 6.2.1 20160916 (Red Hat 6.2.1-2) Clang Version:3.8.0 x86_64-native-linuxapp-gcc-debug i686-native-linuxapp-gcc x86_64-native-linuxapp-gcc x86_64-native-linuxapp-gcc-shared x86_64-native-linuxapp-clang OS: UB1604_64 Kernel Version:4.4.0-53-generic CPU info:Intel(R) Xeon(R) CPU E5-2699 v3 @ 2.30GHz GCC Version:gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609 Clang Version:3.8.0 i686-native-linuxapp-gcc x86_64-native-linuxapp-gcc x86_64-native-linuxapp-gcc-shared x86_64-native-linuxapp-clang OS: CentOS7_64 Kernel Version:3.10.0-327.el7.x86_64 CPU info:Intel(R) Xeon(R) CPU E5-2699 v3 @ 2.30GHz GCC Version:gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4) Clang Version:3.4.2 i686-native-linuxapp-gcc x86_64-native-linuxapp-clang x86_64-native-linuxapp-gcc-shared x86_64-native-linuxapp-gcc Failed Build #1: OS: RHEL7.2_64 Target: i686-native-linuxapp-gcc MKRES test_resource_c.res.o /home/patchWorkOrg/compilation/i686-native-lin= uxapp-gcc/lib/librte_ethdev.a(rte_ethdev.o): In function `rte_eth_dev_pci_p= robe': rte_ethdev.c:(.text+0x930): undefined reference to `eth_dev_attach_secondar= y' collect2: error: ld returned 1 exit status Failed Build #2: OS: RHEL7.2_64 Target: x86_64-native-linuxapp-gcc MKRES test_resource_c.res.o /home/patchWorkOrg/compilation/x86_64-native-l= inuxapp-gcc/lib/librte_ethdev.a(rte_ethdev.o): In function `rte_eth_dev_pci= _probe': rte_ethdev.c:(.text+0x9c4): undefined reference to `eth_dev_attach_secondar= y' collect2: error: ld returned 1 exit status Failed Build #3: OS: RHEL7.2_64 Target: x86_64-native-linuxapp-gcc-shared /home/patchWorkOrg/compilation/lib/librte_ether/rte_ethdev.c: In function = =E2=80=98rte_eth_dev_pci_probe=E2=80=99: /home/patchWorkOrg/compilation/lib/librte_ether/rte_ethdev.c:273:3: warning= : implicit declaration of function =E2=80=98eth_dev_attach_secondary=E2=80= =99 [-Wimplicit-function-declaration] eth_dev =3D eth_dev_attach_secondary(ethdev_name); ^ /home/patchWorkOrg/compilation/lib/librte_ether/rte_ethdev.c:273:3: warning= : nested extern declaration of =E2=80=98eth_dev_attach_secondary=E2=80=99 [= -Wnested-externs] /home/patchWorkOrg/compilation/lib/librte_ether/rte_ethdev.c:273:11: warnin= g: assignment makes pointer from integer without a cast [enabled by default] eth_dev =3D eth_dev_attach_secondary(ethdev_name); ^ /home/patchWorkOrg/compilation/lib/librte_ether/rte_ethdev.c: At top level: /home/patchWorkOrg/compilation/lib/librte_ether/rte_ethdev.c:193:1: warning= : =E2=80=98eth_dev_init=E2=80=99 defined but not used [-Wunused-function] eth_dev_init(struct rte_eth_dev *eth_dev, uint8_t port_id, const char *nam= e) ^ LD librte_ethdev.so.5.1 rte_ethdev.o: In function `rte_eth_dev_pci_probe': rte_ethdev.c:(.text+0xa37): undefined reference to `eth_dev_attach_secondar= y' collect2: error: ld returned 1 exit status Failed Build #4: OS: FreeBSD10.3_64 Target: x86_64-native-bsdapp-clang MKRES test_resource_c.res.o /home/patchWorkOrg/compilation/x86_64-native-b= sdapp-clang/lib/librte_ethdev.a(rte_ethdev.o): In function `rte_eth_dev_pci= _probe': /home/patchWorkOrg/compilation/lib/librte_ether/rte_ethdev.c:(.text+0x295):= undefined reference to `eth_dev_attach_secondary' clang: error: linker command failed with exit code 1 (use -v to see invocat= ion) /home/patchWorkOrg/compilation/mk/rte.app.mk:231: recipe for target 'test' = failed /home/patchWorkOrg/compilation/mk/rte.subdir.mk:61: recipe for target 'test= ' failed /home/patchWorkOrg/compilation/mk/rte.sdkbuild.mk:78: recipe for target 'ap= p' failed /home/patchWorkOrg/compilation/mk/rte.sdkroot.mk:126: recipe for target 'al= l' failed /home/patchWorkOrg/compilation/mk/rte.sdkinstall.mk:85: recipe for target '= pre_install' failed /home/patchWorkOrg/compilation/mk/rte.sdkroot.mk:101: recipe for target 'in= stall' failed Failed Build #5: OS: FreeBSD10.3_64 Target: x86_64-native-bsdapp-gcc MKRES test_resource_c.res.o /home/patchWorkOrg/compilation/x86_64-native-b= sdapp-gcc/lib/librte_ethdev.a(rte_ethdev.o): In function `rte_eth_dev_pci_p= robe': rte_ethdev.c:(.text+0x9c4): undefined reference to `eth_dev_attach_secondar= y' collect2: error: ld returned 1 exit status /home/patchWorkOrg/compilation/mk/rte.app.mk:231: recipe for target 'test' = failed /home/patchWorkOrg/compilation/mk/rte.subdir.mk:61: recipe for target 'test= ' failed /home/patchWorkOrg/compilation/mk/rte.sdkbuild.mk:78: recipe for target 'ap= p' failed /home/patchWorkOrg/compilation/mk/rte.sdkroot.mk:126: recipe for target 'al= l' failed /home/patchWorkOrg/compilation/mk/rte.sdkinstall.mk:85: recipe for target '= pre_install' failed /home/patchWorkOrg/compilation/mk/rte.sdkroot.mk:101: recipe for target 'in= stall' failed Failed Build #6: OS: FC24_64 Target: x86_64-native-linuxapp-gcc-debug MKRES test_resource_c.res.o /home/patchWorkOrg/compilation/x86_64-native-l= inuxapp-gcc/lib/librte_ethdev.a(rte_ethdev.o): In function `rte_eth_dev_pci= _probe': rte_ethdev.c:(.text+0xba6): undefined reference to `eth_dev_attach_secondar= y' collect2: error: ld returned 1 exit status /home/patchWorkOrg/compilation/mk/rte.app.mk:231: recipe for target 'test' = failed /home/patchWorkOrg/compilation/mk/rte.subdir.mk:61: recipe for target 'test= ' failed /home/patchWorkOrg/compilation/mk/rte.sdkbuild.mk:78: recipe for target 'ap= p' failed /home/patchWorkOrg/compilation/mk/rte.sdkroot.mk:126: recipe for target 'al= l' failed /home/patchWorkOrg/compilation/mk/rte.sdkinstall.mk:85: recipe for target '= pre_install' failed /home/patchWorkOrg/compilation/mk/rte.sdkroot.mk:101: recipe for target 'in= stall' failed Failed Build #7: OS: FC24_64 Target: i686-native-linuxapp-gcc MKRES test_resource_c.res.o /home/patchWorkOrg/compilation/i686-native-lin= uxapp-gcc/lib/librte_ethdev.a(rte_ethdev.o): In function `rte_eth_dev_pci_p= robe': rte_ethdev.c:(.text+0x89d): undefined reference to `eth_dev_attach_secondar= y' collect2: error: ld returned 1 exit status /home/patchWorkOrg/compilation/mk/rte.app.mk:231: recipe for target 'test' = failed /home/patchWorkOrg/compilation/mk/rte.subdir.mk:61: recipe for target 'test= ' failed /home/patchWorkOrg/compilation/mk/rte.sdkbuild.mk:78: recipe for target 'ap= p' failed /home/patchWorkOrg/compilation/mk/rte.sdkroot.mk:126: recipe for target 'al= l' failed /home/patchWorkOrg/compilation/mk/rte.sdkinstall.mk:85: recipe for target '= pre_install' failed /home/patchWorkOrg/compilation/mk/rte.sdkroot.mk:101: recipe for target 'in= stall' failed Failed Build #8: OS: FC24_64 Target: x86_64-native-linuxapp-gcc MKRES test_resource_c.res.o /home/patchWorkOrg/compilation/x86_64-native-l= inuxapp-gcc/lib/librte_ethdev.a(rte_ethdev.o): In function `rte_eth_dev_pci= _probe': rte_ethdev.c:(.text+0x916): undefined reference to `eth_dev_attach_secondar= y' collect2: error: ld returned 1 exit status /home/patchWorkOrg/compilation/mk/rte.app.mk:231: recipe for target 'test' = failed /home/patchWorkOrg/compilation/mk/rte.subdir.mk:61: recipe for target 'test= ' failed /home/patchWorkOrg/compilation/mk/rte.sdkbuild.mk:78: recipe for target 'ap= p' failed /home/patchWorkOrg/compilation/mk/rte.sdkroot.mk:126: recipe for target 'al= l' failed /home/patchWorkOrg/compilation/mk/rte.sdkinstall.mk:85: recipe for target '= pre_install' failed /home/patchWorkOrg/compilation/mk/rte.sdkroot.mk:101: recipe for target 'in= stall' failed Failed Build #9: OS: FC24_64 Target: x86_64-native-linuxapp-gcc-shared /home/patchWorkOrg/compilation/lib/librte_ether/rte_ethdev.c: In function = =E2=80=98rte_eth_dev_pci_probe=E2=80=99: /home/patchWorkOrg/compilation/lib/librte_ether/rte_ethdev.c:273:13: warnin= g: implicit declaration of function =E2=80=98eth_dev_attach_secondary=E2=80= =99 [-Wimplicit-function-declaration] eth_dev =3D eth_dev_attach_secondary(ethdev_name); ^~~~~~~~~~~~~~~~~~~~~~~~ /home/patchWorkOrg/compilation/lib/librte_ether/rte_ethdev.c:273:3: warning= : nested extern declaration of =E2=80=98eth_dev_attach_secondary=E2=80=99 [= -Wnested-externs] eth_dev =3D eth_dev_attach_secondary(ethdev_name); ^~~~~~~ /home/patchWorkOrg/compilation/lib/librte_ether/rte_ethdev.c:273:11: warnin= g: assignment makes pointer from integer without a cast [-Wint-conversion] eth_dev =3D eth_dev_attach_secondary(ethdev_name); ^ At top level: /home/patchWorkOrg/compilation/lib/librte_ether/rte_ethdev.c:193:1: warning= : =E2=80=98eth_dev_init=E2=80=99 defined but not used [-Wunused-function] eth_dev_init(struct rte_eth_dev *eth_dev, uint8_t port_id, const char *nam= e) ^~~~~~~~~~~~ LD librte_ethdev.so.5.1 rte_ethdev.o: In function `rte_eth_dev_pci_probe': rte_ethdev.c:(.text+0x98d): undefined reference to `eth_dev_attach_secondar= y' collect2: error: ld returned 1 exit status /home/patchWorkOrg/compilation/mk/rte.lib.mk:120: recipe for target 'librte= _ethdev.so.5.1' failed /home/patchWorkOrg/compilation/mk/rte.subdir.mk:61: recipe for target 'libr= te_ether' failed /home/patchWorkOrg/compilation/mk/rte.sdkbuild.mk:78: recipe for target 'li= b' failed /home/patchWorkOrg/compilation/mk/rte.sdkroot.mk:126: recipe for target 'al= l' failed /home/patchWorkOrg/compilation/mk/rte.sdkinstall.mk:85: recipe for target '= pre_install' failed /home/patchWorkOrg/compilation/mk/rte.sdkroot.mk:101: recipe for target 'in= stall' failed Failed Build #10: OS: FC24_64 Target: x86_64-native-linuxapp-clang MKRES test_resource_c.res.o /home/patchWorkOrg/compilation/x86_64-native-l= inuxapp-clang/lib/librte_ethdev.a(rte_ethdev.o): In function `rte_eth_dev_p= ci_probe': /home/patchWorkOrg/compilation/lib/librte_ether/rte_ethdev.c:(.text+0x346):= undefined reference to `eth_dev_attach_secondary' clang-3.8: error: linker command failed with exit code 1 (use -v to see inv= ocation) /home/patchWorkOrg/compilation/mk/rte.app.mk:231: recipe for target 'test' = failed /home/patchWorkOrg/compilation/mk/rte.subdir.mk:61: recipe for target 'test= ' failed /home/patchWorkOrg/compilation/mk/rte.sdkbuild.mk:78: recipe for target 'ap= p' failed /home/patchWorkOrg/compilation/mk/rte.sdkroot.mk:126: recipe for target 'al= l' failed /home/patchWorkOrg/compilation/mk/rte.sdkinstall.mk:85: recipe for target '= pre_install' failed /home/patchWorkOrg/compilation/mk/rte.sdkroot.mk:101: recipe for target 'in= stall' failed Failed Build #11: OS: UB1604_64 Target: i686-native-linuxapp-gcc MKRES test_resource_c.res.o /home/patchWorkOrg/compilation/i686-native-lin= uxapp-gcc/lib/librte_ethdev.a(rte_ethdev.o): In function `rte_eth_dev_pci_p= robe': rte_ethdev.c:(.text+0x901): undefined reference to `eth_dev_attach_secondar= y' collect2: error: ld returned 1 exit status /home/patchWorkOrg/compilation/mk/rte.app.mk:231: recipe for target 'test' = failed /home/patchWorkOrg/compilation/mk/rte.subdir.mk:61: recipe for target 'test= ' failed /home/patchWorkOrg/compilation/mk/rte.sdkbuild.mk:78: recipe for target 'ap= p' failed /home/patchWorkOrg/compilation/mk/rte.sdkroot.mk:126: recipe for target 'al= l' failed /home/patchWorkOrg/compilation/mk/rte.sdkinstall.mk:85: recipe for target '= pre_install' failed /home/patchWorkOrg/compilation/mk/rte.sdkroot.mk:101: recipe for target 'in= stall' failed Failed Build #12: OS: UB1604_64 Target: x86_64-native-linuxapp-gcc MKRES test_resource_c.res.o /home/patchWorkOrg/compilation/x86_64-native-l= inuxapp-gcc/lib/librte_ethdev.a(rte_ethdev.o): In function `rte_eth_dev_pci= _probe': rte_ethdev.c:(.text+0x974): undefined reference to `eth_dev_attach_secondar= y' collect2: error: ld returned 1 exit status /home/patchWorkOrg/compilation/mk/rte.app.mk:231: recipe for target 'test' = failed /home/patchWorkOrg/compilation/mk/rte.subdir.mk:61: recipe for target 'test= ' failed /home/patchWorkOrg/compilation/mk/rte.sdkbuild.mk:78: recipe for target 'ap= p' failed /home/patchWorkOrg/compilation/mk/rte.sdkroot.mk:126: recipe for target 'al= l' failed /home/patchWorkOrg/compilation/mk/rte.sdkinstall.mk:85: recipe for target '= pre_install' failed /home/patchWorkOrg/compilation/mk/rte.sdkroot.mk:101: recipe for target 'in= stall' failed Failed Build #13: OS: UB1604_64 Target: x86_64-native-linuxapp-gcc-shared /home/patchWorkOrg/compilation/lib/librte_ether/rte_ethdev.c: In function = =E2=80=98rte_eth_dev_pci_probe=E2=80=99: /home/patchWorkOrg/compilation/lib/librte_ether/rte_ethdev.c:273:13: warnin= g: implicit declaration of function =E2=80=98eth_dev_attach_secondary=E2=80= =99 [-Wimplicit-function-declaration] eth_dev =3D eth_dev_attach_secondary(ethdev_name); ^ /home/patchWorkOrg/compilation/lib/librte_ether/rte_ethdev.c:273:3: warning= : nested extern declaration of =E2=80=98eth_dev_attach_secondary=E2=80=99 [= -Wnested-externs] eth_dev =3D eth_dev_attach_secondary(ethdev_name); ^ /home/patchWorkOrg/compilation/lib/librte_ether/rte_ethdev.c:273:11: warnin= g: assignment makes pointer from integer without a cast [-Wint-conversion] eth_dev =3D eth_dev_attach_secondary(ethdev_name); ^ /home/patchWorkOrg/compilation/lib/librte_ether/rte_ethdev.c: At top level: /home/patchWorkOrg/compilation/lib/librte_ether/rte_ethdev.c:193:1: warning= : =E2=80=98eth_dev_init=E2=80=99 defined but not used [-Wunused-function] eth_dev_init(struct rte_eth_dev *eth_dev, uint8_t port_id, const char *nam= e) ^ LD librte_ethdev.so.5.1 rte_ethdev.o: In function `rte_eth_dev_pci_probe': rte_ethdev.c:(.text+0x9ba): undefined reference to `eth_dev_attach_secondar= y' collect2: error: ld returned 1 exit status /home/patchWorkOrg/compilation/mk/rte.lib.mk:120: recipe for target 'librte= _ethdev.so.5.1' failed /home/patchWorkOrg/compilation/mk/rte.subdir.mk:61: recipe for target 'libr= te_ether' failed /home/patchWorkOrg/compilation/mk/rte.sdkbuild.mk:78: recipe for target 'li= b' failed /home/patchWorkOrg/compilation/mk/rte.sdkroot.mk:126: recipe for target 'al= l' failed /home/patchWorkOrg/compilation/mk/rte.sdkinstall.mk:85: recipe for target '= pre_install' failed /home/patchWorkOrg/compilation/mk/rte.sdkroot.mk:101: recipe for target 'in= stall' failed Failed Build #14: OS: UB1604_64 Target: x86_64-native-linuxapp-clang MKRES test_resource_c.res.o /home/patchWorkOrg/compilation/x86_64-native-l= inuxapp-clang/lib/librte_ethdev.a(rte_ethdev.o): In function `rte_eth_dev_p= ci_probe': /home/patchWorkOrg/compilation/lib/librte_ether/rte_ethdev.c:(.text+0x346):= undefined reference to `eth_dev_attach_secondary' clang: error: linker command failed with exit code 1 (use -v to see invocat= ion) /home/patchWorkOrg/compilation/mk/rte.app.mk:231: recipe for target 'test' = failed /home/patchWorkOrg/compilation/mk/rte.subdir.mk:61: recipe for target 'test= ' failed /home/patchWorkOrg/compilation/mk/rte.sdkbuild.mk:78: recipe for target 'ap= p' failed /home/patchWorkOrg/compilation/mk/rte.sdkroot.mk:126: recipe for target 'al= l' failed /home/patchWorkOrg/compilation/mk/rte.sdkinstall.mk:85: recipe for target '= pre_install' failed /home/patchWorkOrg/compilation/mk/rte.sdkroot.mk:101: recipe for target 'in= stall' failed Failed Build #15: OS: CentOS7_64 Target: i686-native-linuxapp-gcc MKRES test_resource_c.res.o /home/patchWorkOrg/compilation/i686-native-lin= uxapp-gcc/lib/librte_ethdev.a(rte_ethdev.o): In function `rte_eth_dev_pci_p= robe': rte_ethdev.c:(.text+0x930): undefined reference to `eth_dev_attach_secondar= y' collect2: error: ld returned 1 exit status Failed Build #16: OS: CentOS7_64 Target: x86_64-native-linuxapp-clang MKRES test_resource_c.res.o /home/patchWorkOrg/compilation/x86_64-native-l= inuxapp-clang/lib/librte_ethdev.a(rte_ethdev.o): In function `rte_eth_dev_p= ci_probe': /home/patchWorkOrg/compilation/lib/librte_ether/rte_ethdev.c:(.text+0x273):= undefined reference to `eth_dev_attach_secondary' clang: error: linker command failed with exit code 1 (use -v to see invocat= ion) Failed Build #17: OS: CentOS7_64 Target: x86_64-native-linuxapp-gcc-shared /home/patchWorkOrg/compilation/lib/librte_ether/rte_ethdev.c: In function = =E2=80=98rte_eth_dev_pci_probe=E2=80=99: /home/patchWorkOrg/compilation/lib/librte_ether/rte_ethdev.c:273:3: warning= : implicit declaration of function =E2=80=98eth_dev_attach_secondary=E2=80= =99 [-Wimplicit-function-declaration] eth_dev =3D eth_dev_attach_secondary(ethdev_name); ^ /home/patchWorkOrg/compilation/lib/librte_ether/rte_ethdev.c:273:3: warning= : nested extern declaration of =E2=80=98eth_dev_attach_secondary=E2=80=99 [= -Wnested-externs] /home/patchWorkOrg/compilation/lib/librte_ether/rte_ethdev.c:273:11: warnin= g: assignment makes pointer from integer without a cast [enabled by default] eth_dev =3D eth_dev_attach_secondary(ethdev_name); ^ /home/patchWorkOrg/compilation/lib/librte_ether/rte_ethdev.c: At top level: /home/patchWorkOrg/compilation/lib/librte_ether/rte_ethdev.c:193:1: warning= : =E2=80=98eth_dev_init=E2=80=99 defined but not used [-Wunused-function] eth_dev_init(struct rte_eth_dev *eth_dev, uint8_t port_id, const char *nam= e) ^ LD librte_ethdev.so.5.1 rte_ethdev.o: In function `rte_eth_dev_pci_probe': rte_ethdev.c:(.text+0xa37): undefined reference to `eth_dev_attach_secondar= y' collect2: error: ld returned 1 exit status Failed Build #18: OS: CentOS7_64 Target: x86_64-native-linuxapp-gcc MKRES test_resource_c.res.o /home/patchWorkOrg/compilation/x86_64-native-l= inuxapp-gcc/lib/librte_ethdev.a(rte_ethdev.o): In function `rte_eth_dev_pci= _probe': rte_ethdev.c:(.text+0x9c4): undefined reference to `eth_dev_attach_secondar= y' collect2: error: ld returned 1 exit status