Hello, I have a fix that changes all typedefs in gve_osdep.h to #defines. It should be going out shortly.
On Thu, Oct 17, 2024 at 5:12 AM David Marchand <david.march...@redhat.com> wrote: > > Hello guys, > > I am not clear if this issue is new (and what caused it), but > compilation fails on Rawhide for the net/gve driver (see below for the > log). > > Afaics, Intel drivers wrapped __le16 types (and friends) using macros > (example: > https://git.dpdk.org/dpdk/tree/drivers/net/i40e/base/i40e_osdep.h#n47), > and I suspect it was to avoid such conflicts. > > Can you send a fix please? > > [ 224s] FAILED: drivers/libtmp_rte_net_gve.a.p/net_gve_base_gve_adminq.c.o > [ 224s] cc -Idrivers/libtmp_rte_net_gve.a.p -Idrivers -I../drivers > -Idrivers/net/gve -I../drivers/net/gve -I../drivers/net/gve/base > -Ilib/ethdev -I../lib/ethdev -I. -I.. -Iconfig -I../config > -Ilib/eal/include -I../lib/eal/include -Ilib/eal/linux/include > -I../lib/eal/linux/include -Ilib/eal/x86/include > -I../lib/eal/x86/include -Ilib/eal/common -I../lib/eal/common > -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/log > -I../lib/log -Ilib/metrics -I../lib/metrics -Ilib/telemetry > -I../lib/telemetry -Ilib/net -I../lib/net -Ilib/mbuf -I../lib/mbuf > -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/meter > -I../lib/meter -Idrivers/bus/pci -I../drivers/bus/pci > -I../drivers/bus/pci/linux -Ilib/pci -I../lib/pci -Idrivers/bus/vdev > -I../drivers/bus/vdev -fdiagnostics-color=always > -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -std=c11 -O3 > -include rte_config.h -Wcast-qual -Wdeprecated -Wformat > -Wmissing-declarations -Wmissing-prototypes -Wnested-externs > -Wold-style-definition -Wpointer-arith -Wsign-compare > -Wstrict-prototypes -Wundef -Wwrite-strings > -Wno-address-of-packed-member -Wno-packed-not-aligned > -Wno-missing-field-initializers -Wno-zero-length-bounds -D_GNU_SOURCE > -fcommon -Werror -fPIC -march=corei7 -mrtm -DALLOW_EXPERIMENTAL_API > -DALLOW_INTERNAL_API -Wno-format-truncation > -DRTE_LOG_DEFAULT_LOGTYPE=pmd.net.gve -MD -MQ > drivers/libtmp_rte_net_gve.a.p/net_gve_base_gve_adminq.c.o -MF > drivers/libtmp_rte_net_gve.a.p/net_gve_base_gve_adminq.c.o.d -o > drivers/libtmp_rte_net_gve.a.p/net_gve_base_gve_adminq.c.o -c > ../drivers/net/gve/base/gve_adminq.c > [ 224s] In file included from ../drivers/net/gve/base/../base/gve_desc.h:11, > [ 224s] from ../drivers/net/gve/base/../base/gve.h:9, > [ 224s] from ../drivers/net/gve/base/../gve_ethdev.h:13, > [ 224s] from ../drivers/net/gve/base/gve_adminq.c:6: > [ 224s] ../drivers/net/gve/base/../base/gve_osdep.h:41:20: error: > conflicting types for ‘__be64’; have ‘rte_be64_t’ {aka ‘long > unsigned int’} > [ 224s] 41 | typedef rte_be64_t __be64; > [ 224s] | ^~~~~~ > [ 224s] In file included from /usr/include/linux/sched/types.h:5, > [ 224s] from /usr/include/bits/sched.h:60, > [ 224s] from /usr/include/sched.h:43, > [ 224s] from /usr/include/pthread.h:22, > [ 224s] from ../lib/ethdev/ethdev_driver.h:17, > [ 224s] from ../drivers/net/gve/base/../gve_ethdev.h:8: > [ 224s] /usr/include/linux/types.h:36:25: note: previous declaration > of ‘__be64’ with type ‘__be64’ {aka ‘long long unsigned > int’} > [ 224s] 36 | typedef __u64 __bitwise __be64; > [ 224s] | ^~~~~~ > [ 224s] ../drivers/net/gve/base/../base/gve_osdep.h:45:20: error: > conflicting types for ‘__le64’; have ‘rte_le64_t’ {aka ‘long > unsigned int’} > [ 224s] 45 | typedef rte_le64_t __le64; > [ 224s] | ^~~~~~ > [ 224s] /usr/include/linux/types.h:35:25: note: previous declaration > of ‘__le64’ with type ‘__le64’ {aka ‘long long unsigned > int’} > [ 224s] 35 | typedef __u64 __bitwise __le64; > [ 224s] | ^~~~~~ > > > > -- > David Marchand > -- Joshua Washington | Software Engineer | joshw...@google.com | (414) 366-4423