Actions
Bug #41523
closedbuild ceph failed when using WITH_DPDK=ON
Status:
Closed
Priority:
High
Assignee:
-
Category:
build
Target version:
-
% Done:
0%
Source:
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
I used the master brach of ceph, here are the build error logs:
In file included from /home/yehu/ceph/ceph/src/msg/async/dpdk/DPDK.cc:37:
/home/yehu/ceph/ceph/src/msg/async/dpdk/IP.h:126:8: error: redefinition of ‘struct icmp_hdr’
struct icmp_hdr {
^~~~~~~~
In file included from /home/yehu/ceph/ceph/build/src/dpdk/include/rte_flow.h:23,
from /home/yehu/ceph/ceph/build/src/dpdk/include/rte_eth_ctrl.h:11,
from /home/yehu/ceph/ceph/build/src/dpdk/include/rte_ethdev.h:887,
from /home/yehu/ceph/ceph/src/msg/async/dpdk/DPDK.cc:31:
/home/yehu/ceph/ceph/build/src/dpdk/include/rte_icmp.h:26:8: note: previous definition of ‘struct icmp_hdr’
struct icmp_hdr {
^~~~~~~~
In file included from /home/yehu/ceph/ceph/src/common/ceph_time.h:23,
from /home/yehu/ceph/ceph/src/msg/async/Event.h:44,
from /home/yehu/ceph/ceph/src/msg/async/dpdk/IP.h:35,
from /home/yehu/ceph/ceph/src/msg/async/dpdk/DPDK.cc:37:
/home/yehu/ceph/ceph/src/msg/async/dpdk/DPDK.cc: In member function ‘int DPDKDevice::init_port_start()’:
/home/yehu/ceph/ceph/src/msg/async/dpdk/DPDK.cc:154:45: warning: ‘uint16_t rte_eth_dev_count()’ is deprecated [-Wdeprecated-declarations]
ceph_assert(_port_idx < rte_eth_dev_count());
^
/home/yehu/ceph/ceph/src/include/ceph_assert.h:106:6: note: in definition of macro ‘ceph_assert’
((expr) \
^~~~
In file included from /home/yehu/ceph/ceph/src/msg/async/dpdk/DPDK.cc:31:
/home/yehu/ceph/ceph/build/src/dpdk/include/rte_ethdev.h:1593:10: note: declared here
uint16_t rte_eth_dev_count(void);
^~~~~~~~~~~~~~~~~
In file included from /home/yehu/ceph/ceph/src/common/ceph_time.h:23,
from /home/yehu/ceph/ceph/src/msg/async/Event.h:44,
from /home/yehu/ceph/ceph/src/msg/async/dpdk/IP.h:35,
from /home/yehu/ceph/ceph/src/msg/async/dpdk/DPDK.cc:37:
/home/yehu/ceph/ceph/src/msg/async/dpdk/DPDK.cc:154:45: warning: ‘uint16_t rte_eth_dev_count()’ is deprecated [-Wdeprecated-declarations]
ceph_assert(_port_idx < rte_eth_dev_count());
^
/home/yehu/ceph/ceph/src/include/ceph_assert.h:106:6: note: in definition of macro ‘ceph_assert’
((expr) \
^~~~
In file included from /home/yehu/ceph/ceph/src/msg/async/dpdk/DPDK.cc:31:
/home/yehu/ceph/ceph/build/src/dpdk/include/rte_ethdev.h:1593:10: note: declared here
uint16_t rte_eth_dev_count(void);
^~~~~~~~~~~~~~~~~
/home/yehu/ceph/ceph/src/msg/async/dpdk/DPDK.cc:193:28: error: ‘struct rte_eth_txconf’ has no member named ‘txq_flags’
_dev_info.default_txconf.txq_flags =
^~~~~~~~~
/home/yehu/ceph/ceph/src/msg/async/dpdk/DPDK.cc:194:7: error: ‘ETH_TXQ_FLAGS_NOMULTMEMP’ was not declared in this scope
ETH_TXQ_FLAGS_NOMULTMEMP | ETH_TXQ_FLAGS_NOREFCOUNT;
^~~~~~~~~~~~~~~~~~~~~~~~
/home/yehu/ceph/ceph/src/msg/async/dpdk/DPDK.cc:194:34: error: ‘ETH_TXQ_FLAGS_NOREFCOUNT’ was not declared in this scope
ETH_TXQ_FLAGS_NOMULTMEMP | ETH_TXQ_FLAGS_NOREFCOUNT;
^~~~~~~~~~~~~~~~~~~~~~~~
/home/yehu/ceph/ceph/src/msg/async/dpdk/DPDK.cc:194:34: note: suggested alternative: ‘CEPH_OSD_FLAG_IGNORE_CACHE’
ETH_TXQ_FLAGS_NOMULTMEMP | ETH_TXQ_FLAGS_NOREFCOUNT;
^~~~~~~~~~~~~~~~~~~~~~~~
CEPH_OSD_FLAG_IGNORE_CACHE
/home/yehu/ceph/ceph/src/msg/async/dpdk/DPDK.cc:200:30: error: ‘struct rte_eth_txconf’ has no member named ‘txq_flags’
_dev_info.default_txconf.txq_flags |= ETH_TXQ_FLAGS_NOXSUMUDP;
^~~~~~~~~
/home/yehu/ceph/ceph/src/msg/async/dpdk/DPDK.cc:200:43: error: ‘ETH_TXQ_FLAGS_NOXSUMUDP’ was not declared in this scope
_dev_info.default_txconf.txq_flags |= ETH_TXQ_FLAGS_NOXSUMUDP;
^~~~~~~~~~~~~~~~~~~~~~~
/home/yehu/ceph/ceph/src/msg/async/dpdk/DPDK.cc:204:30: error: ‘struct rte_eth_txconf’ has no member named ‘txq_flags’
_dev_info.default_txconf.txq_flags |= ETH_TXQ_FLAGS_NOXSUMTCP;
^~~~~~~~~
/home/yehu/ceph/ceph/src/msg/async/dpdk/DPDK.cc:204:43: error: ‘ETH_TXQ_FLAGS_NOXSUMTCP’ was not declared in this scope
_dev_info.default_txconf.txq_flags |= ETH_TXQ_FLAGS_NOXSUMTCP;
^~~~~~~~~~~~~~~~~~~~~~~
/home/yehu/ceph/ceph/src/msg/async/dpdk/DPDK.cc:208:30: error: ‘struct rte_eth_txconf’ has no member named ‘txq_flags’
_dev_info.default_txconf.txq_flags |= ETH_TXQ_FLAGS_NOXSUMSCTP;
^~~~~~~~~
/home/yehu/ceph/ceph/src/msg/async/dpdk/DPDK.cc:208:43: error: ‘ETH_TXQ_FLAGS_NOXSUMSCTP’ was not declared in this scope
_dev_info.default_txconf.txq_flags |= ETH_TXQ_FLAGS_NOXSUMSCTP;
^~~~~~~~~~~~~~~~~~~~~~~~
/home/yehu/ceph/ceph/src/msg/async/dpdk/DPDK.cc:212:30: error: ‘struct rte_eth_txconf’ has no member named ‘txq_flags’
_dev_info.default_txconf.txq_flags |= ETH_TXQ_FLAGS_NOVLANOFFL;
^~~~~~~~~
/home/yehu/ceph/ceph/src/msg/async/dpdk/DPDK.cc:212:43: error: ‘ETH_TXQ_FLAGS_NOVLANOFFL’ was not declared in this scope
_dev_info.default_txconf.txq_flags |= ETH_TXQ_FLAGS_NOVLANOFFL;
^~~~~~~~~~~~~~~~~~~~~~~~
/home/yehu/ceph/ceph/src/msg/async/dpdk/DPDK.cc:216:30: error: ‘struct rte_eth_txconf’ has no member named ‘txq_flags’
_dev_info.default_txconf.txq_flags |= ETH_TXQ_FLAGS_NOVLANOFFL;
^~~~~~~~~
/home/yehu/ceph/ceph/src/msg/async/dpdk/DPDK.cc:216:43: error: ‘ETH_TXQ_FLAGS_NOVLANOFFL’ was not declared in this scope
_dev_info.default_txconf.txq_flags |= ETH_TXQ_FLAGS_NOVLANOFFL;
^~~~~~~~~~~~~~~~~~~~~~~~
/home/yehu/ceph/ceph/src/msg/async/dpdk/DPDK.cc:220:30: error: ‘struct rte_eth_txconf’ has no member named ‘txq_flags’
_dev_info.default_txconf.txq_flags |= ETH_TXQ_FLAGS_NOMULTSEGS;
^~~~~~~~~
/home/yehu/ceph/ceph/src/msg/async/dpdk/DPDK.cc:220:43: error: ‘ETH_TXQ_FLAGS_NOMULTSEGS’ was not declared in this scope
_dev_info.default_txconf.txq_flags |= ETH_TXQ_FLAGS_NOMULTSEGS;
^~~~~~~~~~~~~~~~~~~~~~~~
/home/yehu/ceph/ceph/src/msg/async/dpdk/DPDK.cc:284:22: error: ‘struct rte_eth_rxmode’ has no member named ‘hw_vlan_strip’
port_conf.rxmode.hw_vlan_strip = 1;
^~~~~~~~~~~~~
/home/yehu/ceph/ceph/src/msg/async/dpdk/DPDK.cc:288:20: error: ‘struct rte_eth_rxmode’ has no member named ‘hw_strip_crc’
port_conf.rxmode.hw_strip_crc = 1;
^~~~~~~~~~~~
/home/yehu/ceph/ceph/src/msg/async/dpdk/DPDK.cc:294:22: error: ‘struct rte_eth_rxmode’ has no member named ‘enable_lro’
port_conf.rxmode.enable_lro = 1;
^~~~~~~~~~
/home/yehu/ceph/ceph/src/msg/async/dpdk/DPDK.cc:313:22: error: ‘struct rte_eth_rxmode’ has no member named ‘hw_ip_checksum’
port_conf.rxmode.hw_ip_checksum = 1;
^~~~~~~~~~~~~~
......
In file included from /home/yehu/ceph/ceph/build/src/dpdk/include/rte_flow.h:23,
from /home/yehu/ceph/ceph/build/src/dpdk/include/rte_eth_ctrl.h:11,
from /home/yehu/ceph/ceph/build/src/dpdk/include/rte_ethdev.h:887,
from /home/yehu/ceph/ceph/src/msg/async/dpdk/DPDK.h:30,
from /home/yehu/ceph/ceph/src/msg/async/dpdk/DPDKStack.cc:46:
/home/yehu/ceph/ceph/build/src/dpdk/include/rte_icmp.h:26:8: error: redefinition of ‘struct icmp_hdr’
struct icmp_hdr {
^~~~~~~~
In file included from /home/yehu/ceph/ceph/src/msg/async/dpdk/DPDKStack.h:26,
from /home/yehu/ceph/ceph/src/msg/async/dpdk/DPDKStack.cc:45:
/home/yehu/ceph/ceph/src/msg/async/dpdk/IP.h:126:8: note: previous definition of ‘struct icmp_hdr’
struct icmp_hdr {
^~~~~~~~
/home/yehu/ceph/ceph/src/msg/async/dpdk/DPDKStack.cc: In member function ‘virtual void DPDKWorker::initialize()’:
/home/yehu/ceph/ceph/src/msg/async/dpdk/DPDKStack.cc:109:10: error: ‘ceph::condition_variable’ {aka ‘class ceph::condition_variable_debug’} has no member named ‘Signal’
cond.Signal();
^~~~~~
/home/yehu/ceph/ceph/src/msg/async/dpdk/DPDKStack.cc: At global scope:
/home/yehu/ceph/ceph/src/msg/async/dpdk/DPDKStack.cc:162:13: warning: ‘bool match_available_address(const std::vector<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, const entity_addr_t&, int&)’ defined but not used [-Wunused-function]
static bool match_available_address(const vector<AvailableIPAddress> &avails,
^~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [src/msg/CMakeFiles/common_async_dpdk.dir/async/dpdk/DPDKStack.cc.o] Error 1
Updated by Hu Ye over 4 years ago
Hu Ye wrote:
I used the master brach of ceph, here are the build error logs:
[...]
There are two versions of DPDK, one is in src/seastar, another is in src/spdk, when we use WITH_DPDK=ON, which version do we use?
Updated by Kefu Chai over 4 years ago
Hu Ye wrote:
Hu Ye wrote:
I used the master brach of ceph, here are the build error logs:
[...]
There are two versions of DPDK, one is in src/seastar, another is in src/spdk, when we use WITH_DPDK=ON, which version do we use?
the one in src/spdk/dpdk
Actions