mtcp-stack / mtcp

mTCP: A Highly Scalable User-level TCP Stack for Multicore Systems
Other
1.99k stars 436 forks source link

mTCP make issue #330

Open lotusdew-dushyant-goel opened 1 year ago

lotusdew-dushyant-goel commented 1 year ago

Hi experts,

I got the issue at first step for mtcp envrionment setup. When I ran ./setup_mtcp_dpdk_env.sh, I get -Werror=address-of-packed-member and -Werror=stringop-overread

== Build lib/librte_eal/linuxapp/eal
  SYMLINK-FILE include/exec-env/rte_kni_common.h
  CC eal.o
  CC eal_cpuflags.o
  CC eal_hugepage_info.o
  CC eal_memory.o
/root/mtcp/dpdk/lib/librte_eal/linuxapp/eal/eal_memory.c: In function ‘remap_segment’:
/root/mtcp/dpdk/lib/librte_eal/linuxapp/eal/eal_memory.c:665:23: error: taking address of packed member of ‘struct rte_mem_config’ may result in an unaligned pointer value [-Werror=address-of-packed-member]
  665 |                 msl = &mcfg->memsegs[msl_idx];
      |                       ^~~~~~~~~~~~~~~~~~~~~~~
In function ‘get_socket_mem_size’,
    inlined from ‘calc_num_pages_per_socket.constprop’ at /root/mtcp/dpdk/lib/librte_eal/linuxapp/eal/eal_memory.c:1106:19:
/root/mtcp/dpdk/lib/librte_eal/linuxapp/eal/eal_memory.c:1052:21: error: ‘strnlen’ reading between 1 and 4096 bytes from a region of size 0 [-Werror=stringop-overread]
 1052 |                 if (strnlen(hpi->hugedir, sizeof(hpi->hugedir)) != 0)
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

My environment is: OS : Ubuntu 22.04 kernel : 5.19.0-32-generic compiler: gcc 11.3.0 dpdk : default

hobin-kim commented 1 year ago

You can refer to the @327

In my case, gcc 7.5.0 and kernel 4.15.0 work.