* [dpdk-dev] net/virtio: build is broken on FreeBSD
@ 2017-01-17 14:39 Andrew Rybchenko
2017-01-17 22:09 ` Thomas Monjalon
0 siblings, 1 reply; 5+ messages in thread
From: Andrew Rybchenko @ 2017-01-17 14:39 UTC (permalink / raw)
To: dev; +Cc: Huawei Xie, Yuanhan Liu
Hi,
dpdk-next-net build is broken for me on FreeBSD 10.3 and 11.0 regardless
clang/gcc:
CC test_cryptodev_blockcipher.o
CC test_cryptodev_perf.o
CC test_cryptodev.o
CC test_kvargs.o
LD test
/tmp/dpdk-next-net.x86_64-native-bsdapp-clang/lib/librte_pmd_virtio.a(virtio_ethdev.o):
In function `virtio_init_device':
/tmp/dpdk-next-net/drivers/net/virtio/virtio_ethdev.c:(.text+0x217):
undefined reference to `virtio_user_driver'
clang: error: linker command failed with exit code 1 (use -v to see
invocation)
gmake[4]: *** [/tmp/dpdk-next-net/mk/rte.app.mk:235: test] Error 1
gmake[3]: *** [/tmp/dpdk-next-net/mk/rte.subdir.mk:63: test] Error 2
gmake[2]: *** [/tmp/dpdk-next-net/mk/rte.sdkbuild.mk:80: app] Error 2
gmake[1]: *** [/tmp/dpdk-next-net/mk/rte.sdkroot.mk:127: all] Error 2
gmake: *** [Makefile:12: all] Error 2
Am I doing something wrong? Just default config for the target and gmake.
Andrew.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [dpdk-dev] net/virtio: build is broken on FreeBSD
2017-01-17 14:39 [dpdk-dev] net/virtio: build is broken on FreeBSD Andrew Rybchenko
@ 2017-01-17 22:09 ` Thomas Monjalon
2017-01-17 22:22 ` [dpdk-dev] [PATCH] net/virtio: fix build without virtio-user Thomas Monjalon
2017-01-18 3:08 ` [dpdk-dev] net/virtio: build is broken on FreeBSD Tan, Jianfeng
0 siblings, 2 replies; 5+ messages in thread
From: Thomas Monjalon @ 2017-01-17 22:09 UTC (permalink / raw)
To: Andrew Rybchenko, Yuanhan Liu, jianfeng.tan; +Cc: dev
2017-01-17 17:39, Andrew Rybchenko:
> dpdk-next-net build is broken for me on FreeBSD 10.3 and 11.0 regardless
> clang/gcc:
Thanks for reporting.
It is due to the pull of next-virtio tree.
It is broken also on Linux when virtio-user is disabled.
Unfortunately the compilation test in CI failed to apply the patch:
http://dpdk.org/dev/patchwork/patch/19352/
^ permalink raw reply [flat|nested] 5+ messages in thread
* [dpdk-dev] [PATCH] net/virtio: fix build without virtio-user
2017-01-17 22:09 ` Thomas Monjalon
@ 2017-01-17 22:22 ` Thomas Monjalon
2017-01-18 2:42 ` Yuanhan Liu
2017-01-18 3:08 ` [dpdk-dev] net/virtio: build is broken on FreeBSD Tan, Jianfeng
1 sibling, 1 reply; 5+ messages in thread
From: Thomas Monjalon @ 2017-01-17 22:22 UTC (permalink / raw)
To: Yuanhan Liu; +Cc: dev
When CONFIG_RTE_VIRTIO_USER is disabled (default on FreeBSD),
the virtio driver cannot be compiled:
librte_pmd_virtio.a(virtio_ethdev.o): In function `eth_virtio_dev_init':
(.text+0x1eba): undefined reference to `virtio_user_ops'
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
---
Already applied on mainline git when sending,
in order to allow CI on FreeBSD.
---
drivers/net/virtio/virtio_ethdev.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
index 0fe99d5..1d51942 100644
--- a/drivers/net/virtio/virtio_ethdev.c
+++ b/drivers/net/virtio/virtio_ethdev.c
@@ -1461,9 +1461,12 @@ virtio_remap_pci(struct rte_pci_device *pci_dev, struct virtio_hw *hw)
static void
virtio_set_vtpci_ops(struct virtio_hw *hw)
{
+#ifdef RTE_VIRTIO_USER
if (hw->virtio_user_dev)
VTPCI_OPS(hw) = &virtio_user_ops;
- else if (hw->modern)
+ else
+#endif
+ if (hw->modern)
VTPCI_OPS(hw) = &modern_ops;
else
VTPCI_OPS(hw) = &legacy_ops;
--
2.7.0
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [dpdk-dev] [PATCH] net/virtio: fix build without virtio-user
2017-01-17 22:22 ` [dpdk-dev] [PATCH] net/virtio: fix build without virtio-user Thomas Monjalon
@ 2017-01-18 2:42 ` Yuanhan Liu
0 siblings, 0 replies; 5+ messages in thread
From: Yuanhan Liu @ 2017-01-18 2:42 UTC (permalink / raw)
To: Thomas Monjalon; +Cc: dev
On Tue, Jan 17, 2017 at 11:22:41PM +0100, Thomas Monjalon wrote:
> When CONFIG_RTE_VIRTIO_USER is disabled (default on FreeBSD),
> the virtio driver cannot be compiled:
>
> librte_pmd_virtio.a(virtio_ethdev.o): In function `eth_virtio_dev_init':
> (.text+0x1eba): undefined reference to `virtio_user_ops'
Oops... and thanks!
--yliu
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [dpdk-dev] net/virtio: build is broken on FreeBSD
2017-01-17 22:09 ` Thomas Monjalon
2017-01-17 22:22 ` [dpdk-dev] [PATCH] net/virtio: fix build without virtio-user Thomas Monjalon
@ 2017-01-18 3:08 ` Tan, Jianfeng
1 sibling, 0 replies; 5+ messages in thread
From: Tan, Jianfeng @ 2017-01-18 3:08 UTC (permalink / raw)
To: Thomas Monjalon, Andrew Rybchenko, Yuanhan Liu; +Cc: dev
> -----Original Message-----
> From: Thomas Monjalon [mailto:thomas.monjalon@6wind.com]
> Sent: Wednesday, January 18, 2017 6:10 AM
> To: Andrew Rybchenko; Yuanhan Liu; Tan, Jianfeng
> Cc: dev@dpdk.org
> Subject: Re: [dpdk-dev] net/virtio: build is broken on FreeBSD
>
> 2017-01-17 17:39, Andrew Rybchenko:
> > dpdk-next-net build is broken for me on FreeBSD 10.3 and 11.0 regardless
> > clang/gcc:
>
> Thanks for reporting.
>
> It is due to the pull of next-virtio tree.
> It is broken also on Linux when virtio-user is disabled.
Thank you Andrew for reporting! And I see Thomas's patch have fixed this problem. I tested latest code on Freebsd 10.2, it can be compiled now.
Thank you Thomas.
>
> Unfortunately the compilation test in CI failed to apply the patch:
> http://dpdk.org/dev/patchwork/patch/19352/
Is this still a problem?
Thanks,
Jianfeng
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2017-01-18 3:09 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-01-17 14:39 [dpdk-dev] net/virtio: build is broken on FreeBSD Andrew Rybchenko
2017-01-17 22:09 ` Thomas Monjalon
2017-01-17 22:22 ` [dpdk-dev] [PATCH] net/virtio: fix build without virtio-user Thomas Monjalon
2017-01-18 2:42 ` Yuanhan Liu
2017-01-18 3:08 ` [dpdk-dev] net/virtio: build is broken on FreeBSD Tan, Jianfeng
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).