emmericp / MoonGen

MoonGen is a fully scriptable high-speed packet generator built on DPDK and LuaJIT. It can saturate a 10 Gbit/s connection with 64 byte packets on a single CPU core while executing user-provided Lua scripts for each packet. Multi-core support allows for even higher rates. It also features precise and accurate timestamping and rate control.
MIT License
1.04k stars 235 forks source link

Build failed with latest commit. #267

Closed sitilge closed 4 years ago

sitilge commented 4 years ago

I am using the latest commit:

commit 5ea92056af7f945a68d8687c9ad34c55bf6506e9 (HEAD -> master, origin/master, origin/HEAD)

Build failing on two systems. System 1 specs:

kernel: 5.5.2 arch
gcc: 9.2.0
cmake: 3.16.4
libnuma: 2.0.13-2

System 2 specs:

2.0.13-2 ubuntu
gcc: 7.4.0
cmake: 3.10.2
libnuma: 2.0.11-2

Following the instructions and when running build.sh, it yields the output described here: https://github.com/emmericp/MoonGen/issues/266

emmericp commented 4 years ago

Your build output indicates that it failed because of -Werror which is enabled in DPDK by default but we disabled it recently due to such messages.

I've just tested it on a fresh Debian Buster and it compiles fine, the new warnings show up but are ignored. It failed to compile on Buster without the recent -Wno-error change.

sitilge commented 4 years ago

And it fails further down the road

-- Building Intel TBB: /usr/bin/make -j5 tbb_build_prefix=tbb_cmake_build_subdir tbb_build_dir=/home/vagrant/moongen/build/libmoon/tbb_cmake_build compiler=gcc
-- Configuring done
-- Generating done
-- Build files have been written to: /home/vagrant/moongen/build
make[1]: Entering directory '/home/vagrant/moongen/build'
make[2]: Entering directory '/home/vagrant/moongen/build'
make[2]: Leaving directory '/home/vagrant/moongen/build'
make[2]: Entering directory '/home/vagrant/moongen/build'
[  3%] Building C object libmoon/CMakeFiles/moon.dir/src/device.c.o
[  6%] Building C object libmoon/CMakeFiles/moon.dir/src/util.c.o
[ 10%] Building C object libmoon/CMakeFiles/moon.dir/src/memory.c.o
[ 13%] Building C object libmoon/CMakeFiles/moon.dir/src/i40e.c.o
/home/vagrant/moongen/libmoon/src/device.c:2:10: fatal error: rte_ethdev.h: No such file or directory
    2 | #include <rte_ethdev.h>
      |          ^~~~~~~~~~~~~~
compilation terminated.
/home/vagrant/moongen/libmoon/src/memory.c:2:10: fatal error: rte_mbuf.h: No such file or directory
    2 | #include <rte_mbuf.h>
      |          ^~~~~~~~~~~~
compilation terminated.
make[2]: *** [libmoon/CMakeFiles/moon.dir/build.make:76: libmoon/CMakeFiles/moon.dir/src/memory.c.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [libmoon/CMakeFiles/moon.dir/build.make:102: libmoon/CMakeFiles/moon.dir/src/device.c.o] Error 1
/home/vagrant/moongen/libmoon/src/i40e.c:2:10: fatal error: rte_ethdev.h: No such file or directory
    2 | #include <rte_ethdev.h>
      |          ^~~~~~~~~~~~~~
compilation terminated.
/home/vagrant/moongen/libmoon/src/util.c:3:10: fatal error: rte_ip.h: No such file or directory
    3 | #include <rte_ip.h>
      |          ^~~~~~~~~~
compilation terminated.
make[2]: *** [libmoon/CMakeFiles/moon.dir/build.make:115: libmoon/CMakeFiles/moon.dir/src/i40e.c.o] Error 1
make[2]: *** [libmoon/CMakeFiles/moon.dir/build.make:128: libmoon/CMakeFiles/moon.dir/src/util.c.o] Error 1
make[2]: Leaving directory '/home/vagrant/moongen/build'
make[1]: *** [CMakeFiles/Makefile2:123: libmoon/CMakeFiles/moon.dir/all] Error 2
make[1]: Leaving directory '/home/vagrant/moongen/build'
make: *** [Makefile:84: all] Error 2
daishuangbiao commented 1 year ago

I have the same problem