On 4/10/2019 10:14 PM, Thomas Monjalon wrote: > 10/04/2019 22:58, David Christensen: >>> This is a duplicate of this patch: >>> >>> https://patches.dpdk.org/patch/52505/ >>> >>> You are from 2 different Linux teams at IBM, >>> you hit the same issue at the same time, >>> you both miss to give an explanation, >>> funny. >> >> We both work for infrastructure teams who are supporting a project team >> that is developing a DPDK application that runs across multiple CPU >> architectures and encountered the error. >> >> The error comes from g++ (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0: >> >> [CXX] g++ -o utils/pcap_handle.o -c utils/pcap_handle.cc -g3 >> -ggdb3 -mcpu=native -mtune=native -isystem >> /home/rchirra/gen/io/ppc64include -std=gnu++11 -flax-vector-conversions >> -Werror -isystem /home/rchirra/gen/io >> >> In file included from drivers/pmd.cc:7:0: >> /home/rchirra/gen/io/deps/dpdk/build/include/rte_ethdev_pci.h: >> In function ‘int eth_dev_pci_specific_init(rte_eth_dev*, void*)’: >> /home/rchirra/gen/io/deps/dpdk/build/include/rte_ethdev_pci.h:75:35: >> error: invalid conversion from ‘void*’ to ‘rte_pci_device*’ [-fpermissive] >> struct rte_pci_device *pci_dev = bus_device; >> ^~~~~~~~~~ >> make[1]: *** [drivers/pmd.o] Error 1 >> >> Do you believe that more permissive compiler flags are the better answer? > > No, we should not force any compiler flag of the application. > We are even trying to support pedantic flags in the app. > So it seems we must fix it. > > We just need to change the title to mention it fixes the build for C++, > and add the error message in the body. >
I agree our public headers should be usable from c++ applications, but this header is not a public header. Is the DPDK driver compiled with c++ in this case? If so do we support (or have a target for support) that DPDK library itself can be compiled by c++ compiler?