title: When I am compiling tldk an error occured: dereferencing pointer to incomplete type . Does this mean there is a problem with the source code?
body: <p>When I compiled it following the TLDK installation instructions, an error occurred. The following is error.</p>
  <pre class="lang-bash prettyprint-override"><code>In file included from /root/tldk/lib/libtle_l4p/ctx.c:23:
  /root/tldk/lib/libtle_l4p/stream.h: In function ‘stream_get_dest’:
  /root/tldk/lib/libtle_l4p/stream.h:156:6: error: dereferencing pointer to incomplete type ‘struct rte_ipv4_hdr’
     l3h-&gt;src_addr = dev-&gt;prm.local_addr4.s_addr;
        ^~
  /root/tldk/lib/libtle_l4p/stream.h:161:17: error: dereferencing pointer to incomplete type ‘struct rte_ipv6_hdr’
     rte_memcpy(l3h-&gt;src_addr, &amp;dev-&gt;prm.local_addr6,
                   ^~
  In file included from /root/tldk/lib/libtle_l4p/ctx.c:24:
  /root/tldk/lib/libtle_l4p/misc.h: At top level:
  /root/tldk/lib/libtle_l4p/misc.h:210:32: warning: ‘struct rte_ipv4_hdr’ declared inside parameter list will not be visible outside of this definition or declaration
   _ipv4x_phdr_cksum(const struct rte_ipv4_hdr *ipv4_hdr, size_t ipv4h_len,
                                  ^~~~~~~~~~~~
  /root/tldk/lib/libtle_l4p/misc.h: In function ‘_ipv4x_phdr_cksum’:
  /root/tldk/lib/libtle_l4p/misc.h:215:15: error: dereferencing pointer to incomplete type ‘const struct rte_ipv4_hdr’
    s0 = ipv4_hdr-&gt;src_addr;
                 ^~
  /root/tldk/lib/libtle_l4p/misc.h: At top level:
  /root/tldk/lib/libtle_l4p/misc.h:246:15: warning: ‘struct rte_ipv4_hdr’ declared inside parameter list will not be visible outside of this definition or declaration
    const struct rte_ipv4_hdr *ipv4_hdr)
                 ^~~~~~~~~~~~
  /root/tldk/lib/libtle_l4p/misc.h: In function ‘_ipv4_udptcp_mbuf_cksum’:
  /root/tldk/lib/libtle_l4p/misc.h:250:28: warning: passing argument 1 of ‘_ipv4x_phdr_cksum’ from incompatible pointer type [-Wincompatible-pointer-types]
    cksum = _ipv4x_phdr_cksum(ipv4_hdr, mb-&gt;l3_len, 0);
                              ^~~~~~~~
  /root/tldk/lib/libtle_l4p/misc.h:210:46: note: expected ‘const struct rte_ipv4_hdr *’ but argument is of type ‘const struct rte_ipv4_hdr *’
   _ipv4x_phdr_cksum(const struct rte_ipv4_hdr *ipv4_hdr, size_t ipv4h_len,
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
  /root/tldk/lib/libtle_l4p/misc.h: At top level:
  /root/tldk/lib/libtle_l4p/misc.h:270:15: warning: ‘struct rte_ipv6_hdr’ declared inside parameter list will not be visible outside of this definition or declaration
    const struct rte_ipv6_hdr *ipv6_hdr)
                 ^~~~~~~~~~~~
  /root/tldk/lib/libtle_l4p/misc.h: In function ‘_ipv6_udptcp_mbuf_cksum’:
  /root/tldk/lib/libtle_l4p/misc.h:274:30: warning: passing argument 1 of ‘rte_ipv6_phdr_cksum’ from incompatible pointer type [-Wincompatible-pointer-types]
    cksum = rte_ipv6_phdr_cksum(ipv6_hdr, 0);
                                ^~~~~~~~
  In file included from /root/tldk/lib/libtle_l4p/ctx.c:21:
  /root/dpdk/x86_64-native-linuxapp-gcc/include/rte_ip.h:390:44: note: expected ‘const struct ipv6_hdr *’ but argument is of type ‘const struct rte_ipv6_hdr *’
   rte_ipv6_phdr_cksum(const struct ipv6_hdr *ipv6_hdr, uint64_t ol_flags)
                       ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
  In file included from /root/tldk/lib/libtle_l4p/ctx.c:24:
  /root/tldk/lib/libtle_l4p/misc.h: In function ‘check_pkt_csum’:
  /root/tldk/lib/libtle_l4p/misc.h:322:44: error: dereferencing pointer to incomplete type ‘const struct rte_ipv4_hdr’
    if (fl3 == PKT_RX_IP_CKSUM_UNKNOWN &amp;&amp; l3h4-&gt;hdr_checksum != 0) {
                                              ^~
  /root/tldk/lib/libtle_l4p/misc.h:336:39: error: dereferencing pointer to incomplete type ‘const struct rte_udp_hdr’
      csum = (proto == IPPROTO_UDP &amp;&amp; l4h-&gt;dgram_cksum == 0) ?
                                         ^~
  /root/tldk/lib/libtle_l4p/misc.h:338:28: warning: passing argument 3 of ‘_ipv4_udptcp_mbuf_cksum’ from incompatible pointer type [-Wincompatible-pointer-types]
       m-&gt;l2_len + m-&gt;l3_len, l3h4);
                              ^~~~
  /root/tldk/lib/libtle_l4p/misc.h:246:29: note: expected ‘const struct rte_ipv4_hdr *’ but argument is of type ‘const struct rte_ipv4_hdr *’
    const struct rte_ipv4_hdr *ipv4_hdr)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
  /root/tldk/lib/libtle_l4p/misc.h:341:28: warning: passing argument 3 of ‘_ipv6_udptcp_mbuf_cksum’ from incompatible pointer type [-Wincompatible-pointer-types]
       m-&gt;l2_len + m-&gt;l3_len, l3h6);
                              ^~~~
  /root/tldk/lib/libtle_l4p/misc.h:270:29: note: expected ‘const struct rte_ipv6_hdr *’ but argument is of type ‘const struct rte_ipv6_hdr *’
    const struct rte_ipv6_hdr *ipv6_hdr)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
  /root/tldk/lib/libtle_l4p/ctx.c: At top level:
  cc1: warning: unrecognized command line option ‘-Wno-address-of-packed-member’
  make[3]: *** [/root/dpdk/mk/internal/rte.compile-pre.mk:116: ctx.o] Error 1
  make[2]: *** [/root/tldk/mk/tle.lib.mk:27: all] Error 2
  make[1]: *** [/root/tldk/mk/tle.subdir.mk:23: libtle_l4p] Error 2
  make: *** [Makefile:44: lib] Error 2
  </code></pre>
  <p>Environment:</p>
  <p>system version: debian 10.2<br />
  linux kernel version: 4.19.249-2<br />
  gcc version: 8.3.0<br />
  make version: 4.2.1<br />
  dpdk version: 18.11.11</p>
  <blockquote>
  <p>Environment variables have been configured.</p>
  </blockquote>