sdnfv / openNetVM

A high performance container-based NFV platform from GW and UCR.
http://sdnfv.github.io/onvm/
Other
263 stars 136 forks source link

Other Branch do not install #174

Closed Yongeverhuang closed 4 years ago

Yongeverhuang commented 4 years ago

Bug Report

Current Behavior By follow openNetVM's installation ,but could not install branch NFVnice_Source(https://github.com/nfvnice/NFVnice_Source) and nfvnice-reinforce(https://github.com/sdnfv/openNetVM/tree/experimental/nfvnice-reinforce).in step install scripts/install.sh , error. By the way ,if the NSF CloudLab has install these branch? Or the installation not suitable for other branch.

Steps to reproduce Provide command line instructions if possible. @h404f-01:~/openNetVM-SC/openNetVM/dpdk$ make config T= x86_64-native-linuxapp-gcc No template specified. Use T=template among the following list: arm-armv7a-linuxapp-gcc arm64-armv8a-linuxapp-gcc arm64-thunderx-linuxapp-gcc arm64-xgene1-linuxapp-gcc i686-native-linuxapp-gcc i686-native-linuxapp-icc ppc_64-power8-linuxapp-gcc tile-tilegx-linuxapp-gcc x86_64-ivshmem-linuxapp-gcc x86_64-ivshmem-linuxapp-icc x86_64-native-bsdapp-clang x86_64-native-bsdapp-gcc x86_64-native-linuxapp-clang x86_64-native-linuxapp-gcc x86_64-native-linuxapp-icc x86_x32-native-linuxapp-gcc /home/openNetVM-SC/openNetVM/dpdk/mk/toolchain/gcc/rte.toolchain-compat.mk:46: You are using GCC < 4.x. This is neither supported, nor tested. make[1]: No rule to make target 'x86_64-native-linuxapp-gcc'. Stop. /home/openNetVM-SC/openNetVM/dpdk/mk/rte.sdkroot.mk:123: recipe for target 'x86_64-native-linuxapp-gcc' failed make: [x86_64-native-linuxapp-gcc] Error 2

But GCC version now is 7.3.0 @h404f-01:~/openNetVM-SC/openNetVM/dpdk$ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper OFFLOAD_TARGET_NAMES=nvptx-none OFFLOAD_TARGET_DEFAULT=1 Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 7.3.0-16ubuntu3' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --with-as=/usr/bin/x86_64-linux-gnu-as --with-ld=/usr/bin/x86_64-linux-gnu-ld --program-suffix=-7 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)

Environment

dennisafa commented 4 years ago

Hi! Could you possibly provide a description of the error when running install.sh? In addition, the make config command must be formatted like this: make config T=x86_64-native-linuxapp-gcc making sure that the space after = is deleted. As I mentioned, make sure that RTE_SDK is set to the DPDK path as well. The default ONVM CloudLab profile that we have does not come with the NFVnice_Source repo installed. However, the branch in question does come with the profile.

sameergk commented 4 years ago

Hi, The codebase being too old, the "install.sh" script may be pointing to a very old GCC version, resulting in this issue. "install.sh" script only ensures that you have the right DPDK environment, tools and necessary drivers for OpenNetVM being setup. If you are able to successfully install the latest OpenNetVM on your setup, then you would not want to run install.sh again, instead directly compile the "onvm" using the 'make' command and also the necessary examples be compiled likewise.

Yongeverhuang commented 4 years ago

Thanks for help , the blow shows two ways of the description of the error . 1、Using running these commands: cd dpdk make config T=$RTE_TARGET make T=$RTE_TARGET -j 8 make install T=$RTE_TARGET -j 8

error is: @h404f-01:~/NFVnice_Source/dpdk$ make config T=x86_64-native-linuxapp-gcc make[3]: Nothing to be done for 'depdirs'. Configuration done

2、Using the install guide (https://github.com/sdnfv/openNetVM/blob/master/docs/Install.md) in step Set up Environment

error is : @h404f-01:~/NFVnice_Source$ echo export ONVM_HOME=$(pwd) >> ~/.bashrc @h404f-01:~/NFVnice_Source$ ls dpdk/config/ common_bsdapp defconfig_i686-native-linuxapp-gcc defconfig_x86_64-native-bsdapp-clang common_linuxapp defconfig_i686-native-linuxapp-icc defconfig_x86_64-native-bsdapp-gcc defconfig_arm64-armv8a-linuxapp-gcc defconfig_ppc_64-power8-linuxapp-gcc defconfig_x86_64-native-linuxapp-clang defconfig_arm64-thunderx-linuxapp-gcc defconfig_tile-tilegx-linuxapp-gcc defconfig_x86_64-native-linuxapp-gcc defconfig_arm64-xgene1-linuxapp-gcc defconfig_x86_64-ivshmem-linuxapp-gcc defconfig_x86_64-native-linuxapp-icc defconfig_arm-armv7a-linuxapp-gcc defconfig_x86_64-ivshmem-linuxapp-icc defconfig_x86_x32-native-linuxapp-gcc @h404f-01:~/NFVnice_Source$ cd dpdk @h404f-01:~/NFVnice_Source/dpdk$ echo export RTE_SDK=$(pwd) >> ~/.bashrc @h404f-01:~/NFVnice_Source/dpdk$ echo export RTE_TARGET=x86_64-native-linuxapp-gcc >> ~/.bashrc @h404f-01:~/NFVnice_Source/dpdk$ echo export ONVM_NUM_HUGEPAGES=1024 >> ~/.bashrc @h404f-01:~/NFVnice_Source/dpdk$ export ONVM_NIC_PCI=" 02:00.0 02:00.1 " @h404f-01:~/NFVnice_Source/dpdk$ source ~/.bashrc @h404f-01:~/NFVnice_Source/dpdk$ sudo sh -c "echo 0 > /proc/sys/kernel/randomize_va_space" [sudo] password for huanghe: @h404f-01:~/NFVnice_Source/dpdk$ cd .. @h404f-01:~/NFVnice_Source$ cd scripts/ huanghe@h404f-01:~/NFVnice_Source/scripts$ ./install.sh Compiling and installing dpdk in /home/huanghe/NFVnice_Source/dpdk make[3]: Nothing to be done for 'depdirs'. Configuration done /home/huanghe/NFVnice_Source/dpdk/mk/toolchain/gcc/rte.toolchain-compat.mk:46: You are using GCC < 4.x. This is neither supported, nor tested. == Build lib /home/huanghe/NFVnice_Source/dpdk/mk/toolchain/gcc/rte.toolchain-compat.mk:46: You are using GCC < 4.x. This is neither supported, nor tested. == Build lib/librte_compat == Build lib/librte_eal == Build lib/librte_net /home/huanghe/NFVnice_Source/dpdk/mk/toolchain/gcc/rte.toolchain-compat.mk:46: You are using GCC < 4.x. This is neither supported, nor tested. /home/huanghe/NFVnice_Source/dpdk/mk/toolchain/gcc/rte.toolchain-compat.mk:46: You are using GCC < 4.x. This is neither supported, nor tested. /home/huanghe/NFVnice_Source/dpdk/mk/toolchain/gcc/rte.toolchain-compat.mk:46: You are using GCC < 4.x. This is neither supported, nor tested. == Build lib/librte_eal/common /home/huanghe/NFVnice_Source/dpdk/mk/toolchain/gcc/rte.toolchain-compat.mk:46: You are using GCC < 4.x. This is neither supported, nor tested. == Build lib/librte_eal/linuxapp /home/huanghe/NFVnice_Source/dpdk/mk/toolchain/gcc/rte.toolchain-compat.mk:46: You are using GCC < 4.x. This is neither supported, nor tested. == Build lib/librte_eal/linuxapp/igb_uio == Build lib/librte_eal/linuxapp/eal /home/huanghe/NFVnice_Source/dpdk/mk/toolchain/gcc/rte.toolchain-compat.mk:46: You are using GCC < 4.x. This is neither supported, nor tested. /home/huanghe/NFVnice_Source/dpdk/mk/toolchain/gcc/rte.toolchain-compat.mk:46: You are using GCC < 4.x. This is neither supported, nor tested. CC eal_pci_uio.o CC eal_pci_vfio.o CC eal_common_log.o CC eal_common_pci.o CC eal_common_memory.o CC eal_common_pci_uio.o CC eal_common_tailqs.o /home/huanghe/NFVnice_Source/dpdk/lib/librte_eal/linuxapp/eal/eal_pci_uio.c: In function ‘pci_mknod_uio_dev’: /home/huanghe/NFVnice_Source/dpdk/lib/librte_eal/linuxapp/eal/eal_pci_uio.c:129:13: error: In the GNU C Library, "makedev" is defined by <sys/sysmacros.h>. For historical compatibility, it is currently defined by <sys/types.h> as well, but we plan to remove this soon. To use "makedev", include <sys/sysmacros.h> directly. If you did not intend to use a system-defined macro "makedev", you should undefine it after including <sys/types.h>. [-Werror] dev = makedev(major, minor); ^~~~~
/home/huanghe/NFVnice_Source/dpdk/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c: In function ‘pci_vfio_get_group_fd’: /home/huanghe/NFVnice_Source/dpdk/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c:487:7: error: this statement may fall through -Werror=implicit-fallthrough=] if (vfio_group_fd > 0) { ^ /home/huanghe/NFVnice_Source/dpdk/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c:492:3: note: here default: ^~~ In file included from /home/huanghe/NFVnice_Source/dpdk/lib/librte_eal/common/eal_common_log.c:58:0: /home/huanghe/NFVnice_Source/dpdk/lib/librte_ring/rte_ring.h: In function ‘__rte_ring_mc_do_dequeue’: /home/huanghe/NFVnice_Source/dpdk/lib/librte_ring/rte_ring.h:385:27: error: this statement may fall through [-Werror=implicit-fallthrough=] case 3: obj_table[i++] = r->ring[idx++]; \

/home/huanghe/NFVnice_Source/dpdk/lib/librte_ring/rte_ring.h:656:2: note: in expansion of macro ‘DEQUEUE_PTRS’
  DEQUEUE_PTRS();
  ^~~~~~~~~~~~
/home/huanghe/NFVnice_Source/dpdk/lib/librte_ring/rte_ring.h:386:4: note: here
    case 2: obj_table[i++] = r->ring[idx++]; \
    ^
/home/huanghe/NFVnice_Source/dpdk/lib/librte_ring/rte_ring.h:656:2: note: in expansion of macro ‘DEQUEUE_PTRS’
  DEQUEUE_PTRS();
  ^~~~~~~~~~~~
/home/huanghe/NFVnice_Source/dpdk/lib/librte_ring/rte_ring.h:386:27: error: this statement may fall through [-Werror=implicit-fallthrough=]
    case 2: obj_table[i++] = r->ring[idx++]; \
            ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
/home/huanghe/NFVnice_Source/dpdk/lib/librte_ring/rte_ring.h:656:2: note: in expansion of macro ‘DEQUEUE_PTRS’
  DEQUEUE_PTRS();
  ^~~~~~~~~~~~
/home/huanghe/NFVnice_Source/dpdk/lib/librte_ring/rte_ring.h:387:4: note: here
    case 1: obj_table[i++] = r->ring[idx++]; \
    ^
/home/huanghe/NFVnice_Source/dpdk/lib/librte_ring/rte_ring.h:656:2: note: in expansion of macro ‘DEQUEUE_PTRS’
  DEQUEUE_PTRS();
  ^~~~~~~~~~~~
/home/huanghe/NFVnice_Source/dpdk/lib/librte_ring/rte_ring.h: In function ‘__rte_ring_sc_do_dequeue’:
/home/huanghe/NFVnice_Source/dpdk/lib/librte_ring/rte_ring.h:385:27: error: this statement may fall through [-Werror=implicit-fallthrough=]
    case 3: obj_table[i++] = r->ring[idx++]; \
            ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
/home/huanghe/NFVnice_Source/dpdk/lib/librte_ring/rte_ring.h:740:2: note: in expansion of macro ‘DEQUEUE_PTRS’
  DEQUEUE_PTRS();
  ^~~~~~~~~~~~
/home/huanghe/NFVnice_Source/dpdk/lib/librte_ring/rte_ring.h:386:4: note: here
    case 2: obj_table[i++] = r->ring[idx++]; \
    ^
/home/huanghe/NFVnice_Source/dpdk/lib/librte_ring/rte_ring.h:740:2: note: in expansion of macro ‘DEQUEUE_PTRS’
  DEQUEUE_PTRS();
  ^~~~~~~~~~~~
/home/huanghe/NFVnice_Source/dpdk/lib/librte_ring/rte_ring.h:386:27: error: this statement may fall through [-Werror=implicit-fallthrough=]
    case 2: obj_table[i++] = r->ring[idx++]; \
            ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
/home/huanghe/NFVnice_Source/dpdk/lib/librte_ring/rte_ring.h:740:2: note: in expansion of macro ‘DEQUEUE_PTRS’
  DEQUEUE_PTRS();
  ^~~~~~~~~~~~
/home/huanghe/NFVnice_Source/dpdk/lib/librte_ring/rte_ring.h:387:4: note: here
    case 1: obj_table[i++] = r->ring[idx++]; \
    ^
/home/huanghe/NFVnice_Source/dpdk/lib/librte_ring/rte_ring.h:740:2: note: in expansion of macro ‘DEQUEUE_PTRS’
  DEQUEUE_PTRS();
  ^~~~~~~~~~~~
/home/huanghe/NFVnice_Source/dpdk/lib/librte_ring/rte_ring.h: In function ‘__rte_ring_mp_do_enqueue’:
/home/huanghe/NFVnice_Source/dpdk/lib/librte_ring/rte_ring.h:359:27: error: this statement may fall through [-Werror=implicit-fallthrough=]
    case 3: r->ring[idx++] = obj_table[i++]; \
            ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
/home/huanghe/NFVnice_Source/dpdk/lib/librte_ring/rte_ring.h:470:2: note: in expansion of macro ‘ENQUEUE_PTRS’
  ENQUEUE_PTRS();
  ^~~~~~~~~~~~
/home/huanghe/NFVnice_Source/dpdk/lib/librte_ring/rte_ring.h:360:4: note: here
    case 2: r->ring[idx++] = obj_table[i++]; \
    ^
/home/huanghe/NFVnice_Source/dpdk/lib/librte_ring/rte_ring.h:470:2: note: in expansion of macro ‘ENQUEUE_PTRS’
  ENQUEUE_PTRS();
  ^~~~~~~~~~~~
/home/huanghe/NFVnice_Source/dpdk/lib/librte_ring/rte_ring.h:360:27: error: this statement may fall through [-Werror=implicit-fallthrough=]
    case 2: r->ring[idx++] = obj_table[i++]; \
            ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
/home/huanghe/NFVnice_Source/dpdk/lib/librte_ring/rte_ring.h:470:2: note: in expansion of macro ‘ENQUEUE_PTRS’
  ENQUEUE_PTRS();
  ^~~~~~~~~~~~
/home/huanghe/NFVnice_Source/dpdk/lib/librte_ring/rte_ring.h:361:4: note: here
    case 1: r->ring[idx++] = obj_table[i++]; \
    ^
/home/huanghe/NFVnice_Source/dpdk/lib/librte_ring/rte_ring.h:470:2: note: in expansion of macro ‘ENQUEUE_PTRS’
  ENQUEUE_PTRS();
  ^~~~~~~~~~~~
/home/huanghe/NFVnice_Source/dpdk/lib/librte_ring/rte_ring.h: In function ‘__rte_ring_sp_do_enqueue’:
/home/huanghe/NFVnice_Source/dpdk/lib/librte_ring/rte_ring.h:359:27: error: this statement may fall through [-Werror=implicit-fallthrough=]
    case 3: r->ring[idx++] = obj_table[i++]; \
            ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
/home/huanghe/NFVnice_Source/dpdk/lib/librte_ring/rte_ring.h:565:2: note: in expansion of macro ‘ENQUEUE_PTRS’
  ENQUEUE_PTRS();
  ^~~~~~~~~~~~
/home/huanghe/NFVnice_Source/dpdk/lib/librte_ring/rte_ring.h:360:4: note: here
    case 2: r->ring[idx++] = obj_table[i++]; \
    ^
/home/huanghe/NFVnice_Source/dpdk/lib/librte_ring/rte_ring.h:565:2: note: in expansion of macro ‘ENQUEUE_PTRS’
  ENQUEUE_PTRS();
  ^~~~~~~~~~~~
/home/huanghe/NFVnice_Source/dpdk/lib/librte_ring/rte_ring.h:360:27: error: this statement may fall through [-Werror=implicit-fallthrough=]
    case 2: r->ring[idx++] = obj_table[i++]; \
            ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
/home/huanghe/NFVnice_Source/dpdk/lib/librte_ring/rte_ring.h:565:2: note: in expansion of macro ‘ENQUEUE_PTRS’
  ENQUEUE_PTRS();
  ^~~~~~~~~~~~
/home/huanghe/NFVnice_Source/dpdk/lib/librte_ring/rte_ring.h:361:4: note: here
    case 1: r->ring[idx++] = obj_table[i++]; \
    ^
/home/huanghe/NFVnice_Source/dpdk/lib/librte_ring/rte_ring.h:565:2: note: in expansion of macro ‘ENQUEUE_PTRS’
  ENQUEUE_PTRS();
  ^~~~~~~~~~~~
/home/huanghe/NFVnice_Source/dpdk/lib/librte_eal/common/eal_common_tailqs.c: In function ‘rte_eal_tailq_register’:
/home/huanghe/NFVnice_Source/dpdk/lib/librte_eal/common/eal_common_tailqs.c:114:51: error: ‘__builtin_snprintf’ output may be truncated before the last format character [-Werror=format-truncation=]
   snprintf(head->name, sizeof(head->name) - 1, "%s", name);
                                                   ^
In file included from /usr/include/stdio.h:862:0,
                 from /home/huanghe/NFVnice_Source/dpdk/lib/librte_eal/common/eal_common_tailqs.c:37:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:64:10: note: ‘__builtin_snprintf’ output between 1 and 32 bytes into a destination of size 31
   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        __bos (__s), __fmt, __va_arg_pack ());

/home/huanghe/NFVnice_Source/dpdk/lib/librte_eal/common/eal_common_tailqs.c: In function ‘rte_eal_tailqs_init’: /home/huanghe/NFVnice_Source/dpdk/lib/librte_eal/common/eal_common_tailqs.c:114:51: error: ‘builtin_snprintf’ output may be truncated before the last format character [-Werror=format-truncation=] snprintf(head->name, sizeof(head->name) - 1, "%s", name); ^ In file included from /usr/include/stdio.h:862:0, from /home/huanghe/NFVnice_Source/dpdk/lib/librte_eal/common/eal_common_tailqs.c:37: /usr/include/x86_64-linux-gnu/bits/stdio2.h:64:10: note: ‘builtin_snprintf’ output between 1 and 32 bytes into a destination of size 31 return builtin___snprintf_chk (s, n, USE_FORTIFY_LEVEL - 1, ^~~~~~~~~~~~~~~~ bos (s), fmt, va_arg_pack ());


cc1: all warnings being treated as errors
  CC eal_common_errno.o
cc1: all warnings being treated as errors
/home/huanghe/NFVnice_Source/dpdk/mk/internal/rte.compile-pre.mk:126: recipe for target 'eal_pci_uio.o' failed
make[5]: *** [eal_pci_uio.o] Error 1
make[5]: *** Waiting for unfinished jobs....
  CC eal_common_cpuflags.o
/home/huanghe/NFVnice_Source/dpdk/mk/internal/rte.compile-pre.mk:126: recipe for target 'eal_common_tailqs.o' failed
make[5]: *** [eal_common_tailqs.o] Error 1
cc1: all warnings being treated as errors
/home/huanghe/NFVnice_Source/dpdk/mk/internal/rte.compile-pre.mk:126: recipe for target 'eal_pci_vfio.o' failed
make[5]: *** [eal_pci_vfio.o] Error 1
cc1: all warnings being treated as errors
/home/huanghe/NFVnice_Source/dpdk/mk/internal/rte.compile-pre.mk:126: recipe for target 'eal_common_log.o' failed
make[5]: *** [eal_common_log.o] Error 1
/home/huanghe/NFVnice_Source/dpdk/mk/rte.subdir.mk:61: recipe for target 'eal' failed
make[4]: *** [eal] Error 2
make[4]: *** Waiting for unfinished jobs....
/home/huanghe/NFVnice_Source/dpdk/mk/toolchain/gcc/rte.toolchain-compat.mk:46: You are using GCC < 4.x. This is neither supported, nor tested.
(cat /dev/null;   echo kernel//home/huanghe/NFVnice_Source/dpdk/build/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.ko;) > /home/huanghe/NFVnice_Source/dpdk/build/build/lib/librte_eal/linuxapp/igb_uio/modules.order
  Building modules, stage 2.
/home/huanghe/NFVnice_Source/dpdk/mk/toolchain/gcc/rte.toolchain-compat.mk:46: You are using GCC < 4.x. This is neither supported, nor tested.
  MODPOST 1 modules
/home/huanghe/NFVnice_Source/dpdk/mk/rte.subdir.mk:61: recipe for target 'linuxapp' failed
make[3]: *** [linuxapp] Error 2
/home/huanghe/NFVnice_Source/dpdk/mk/rte.subdir.mk:61: recipe for target 'librte_eal' failed
make[2]: *** [librte_eal] Error 2
/home/huanghe/NFVnice_Source/dpdk/mk/rte.sdkbuild.mk:77: recipe for target 'lib' failed
make[1]: *** [lib] Error 2
/home/huanghe/NFVnice_Source/dpdk/mk/rte.sdkroot.mk:123: recipe for target 'all' failed
make: *** [all] Error 2

In conclusion ,the above Question are them:
As the out , the RTE_SDK is set to the DPDK path.
And then, in my view ,maybe the NFVnice_Source could not run in this way. Or it need other like OVS,mininet etc. I read the Source code include them . By the way , if  the  Needed profile could provide will be better!
Thanks a lot!
Yongeverhuang commented 4 years ago

Hi, The codebase being too old, the "install.sh" script may be pointing to a very old GCC version, resulting in this issue. "install.sh" script only ensures that you have the right DPDK environment, tools and necessary drivers for OpenNetVM being setup. If you are able to successfully install the latest OpenNetVM on your setup, then you would not want to run install.sh again, instead directly compile the "onvm" using the 'make' command and also the necessary examples be compiled likewise.

Thanks for reply! But ,i try the way in latest OpenNetVM install well,skip to NFVnice_Source/onvm using the 'make' command ,it seems could not success make it.

huanghe@h404f-01:~/WEB/openNetVM$ cd scripts/ huanghe@h404f-01:~/WEB/openNetVM/scripts$ ./install.sh

ONVM Environment Variables:

RTE_SDK: /home/huanghe/WEB/openNetVM/dpdk RTE_TARGET: x86_64-native-linuxapp-gcc ONVM_NUM_HUGEPAGES: 2048 ONVM_SKIP_HUGEPAGES: ONVM_SKIP_FSTAB:

Unloading any existing DPDK UIO module Compiling and installing dpdk in /home/huanghe/WEB/openNetVM/dpdk Configuration done using x86_64-native-linuxapp-gcc == Build lib == Build lib/librte_compat == Build lib/librte_cfgfile == Build lib/librte_kvargs == Build lib/librte_eal == Build lib/librte_eal/common == Build lib/librte_eal/linuxapp == Build lib/librte_eal/linuxapp/eal == Build lib/librte_pci == Build lib/librte_ring == Build lib/librte_metrics == Build lib/librte_timer == Build lib/librte_cmdline == Build lib/librte_jobstats == Build lib/librte_meter == Build lib/librte_acl == Build lib/librte_mempool == Build lib/librte_hash == Build lib/librte_power == Build lib/librte_mbuf == Build lib/librte_efd == Build lib/librte_member == Build lib/librte_lpm == Build lib/librte_net == Build lib/librte_bbdev == Build lib/librte_reorder == Build lib/librte_compressdev == Build lib/librte_cryptodev == Build lib/librte_ethdev == Build lib/librte_sched == Build lib/librte_security == Build lib/librte_rawdev == Build lib/librte_vhost == Build lib/librte_ip_frag == Build lib/librte_latencystats == Build lib/librte_eventdev == Build lib/librte_gro == Build lib/librte_bitratestats == Build lib/librte_kni == Build lib/librte_distributor == Build lib/librte_pdump == Build lib/librte_gso == Build lib/librte_bpf == Build lib/librte_port == Build lib/librte_table == Build lib/librte_flow_classify == Build lib/librte_pipeline == Build buildtools == Build kernel == Build buildtools/pmdinfogen == Build kernel/linux == Build kernel/linux/igb_uio == Build kernel/linux/kni == Build drivers == Build drivers/common == Build drivers/common/cpt == Build drivers/common/octeontx == Build drivers/common/dpaax == Build drivers/bus == Build drivers/bus/fslmc == Build drivers/bus/ifpga == Build drivers/bus/dpaa == Build drivers/bus/pci == Build drivers/bus/vmbus == Build drivers/bus/vdev == Build drivers/mempool == Build drivers/mempool/bucket == Build drivers/mempool/dpaa == Build drivers/mempool/dpaa2 == Build drivers/mempool/ring == Build drivers/mempool/stack == Build drivers/mempool/octeontx Building modules, stage 2. Building modules, stage 2. == Build drivers/net == Build drivers/baseband == Build drivers/crypto == Build drivers/common/qat == Build drivers/compress MODPOST 1 modules MODPOST 1 modules == Build drivers/compress/octeontx == Build drivers/crypto/octeontx == Build drivers/crypto/scheduler == Build drivers/crypto/null == Build drivers/crypto/dpaa2_sec == Build drivers/net/af_packet == Build drivers/baseband/null == Build drivers/net/ark == Build drivers/net/atlantic == Build drivers/crypto/dpaa_sec == Build drivers/net/avf == Build drivers/net/avp == Build drivers/net/axgbe == Build drivers/net/bonding == Build drivers/net/cxgbe == Build drivers/crypto/caam_jr == Build drivers/net/dpaa == Build drivers/crypto/virtio == Build drivers/net/dpaa2 == Build drivers/net/e1000 == Build drivers/net/ena == Build drivers/net/enetc == Build drivers/net/enic == Build drivers/net/failsafe == Build drivers/net/fm10k == Build drivers/net/i40e == Build drivers/net/ixgbe == Build drivers/net/liquidio == Build drivers/net/netvsc == Build drivers/net/nfp == Build drivers/net/bnxt == Build drivers/net/null == Build drivers/net/octeontx == Build drivers/net/qede == Build drivers/net/ring == Build drivers/net/sfc == Build drivers/net/tap == Build drivers/net/thunderx == Build drivers/net/vdev_netvsc == Build drivers/net/virtio == Build drivers/net/vmxnet3 == Build drivers/net/kni == Build drivers/net/softnic == Build drivers/net/vhost == Build drivers/net/ifc == Build drivers/event == Build drivers/event/sw == Build drivers/event/octeontx == Build drivers/event/dsw == Build drivers/event/skeleton == Build drivers/event/dpaa2 == Build drivers/event/dpaa == Build drivers/event/opdl == Build drivers/raw == Build drivers/raw/skeleton_rawdev == Build drivers/raw/dpaa2_cmdif == Build drivers/raw/dpaa2_qdma == Build drivers/raw/ifpga_rawdev == Build app == Build app/test-pmd == Build app/proc-info == Build app/pdump == Build app/test-crypto-perf == Build app/test-eventdev == Build app/test-bbdev Build complete [x86_64-native-linuxapp-gcc] Configuration done using x86_64-native-linuxapp-gcc == Build lib == Build lib/librte_compat == Build lib/librte_cfgfile == Build lib/librte_kvargs == Build lib/librte_eal == Build lib/librte_eal/common == Build lib/librte_eal/linuxapp == Build lib/librte_eal/linuxapp/eal == Build lib/librte_ring == Build lib/librte_pci == Build lib/librte_jobstats == Build lib/librte_cmdline == Build lib/librte_meter == Build lib/librte_metrics == Build lib/librte_timer == Build lib/librte_acl == Build lib/librte_power == Build lib/librte_hash == Build lib/librte_mempool == Build lib/librte_efd == Build lib/librte_lpm == Build lib/librte_member == Build lib/librte_mbuf == Build lib/librte_net == Build lib/librte_cryptodev == Build lib/librte_bbdev == Build lib/librte_compressdev == Build lib/librte_reorder == Build lib/librte_ethdev == Build lib/librte_sched == Build lib/librte_security == Build lib/librte_eventdev == Build lib/librte_ip_frag == Build lib/librte_vhost == Build lib/librte_gro == Build lib/librte_rawdev == Build lib/librte_latencystats == Build lib/librte_bitratestats == Build lib/librte_kni == Build lib/librte_distributor == Build lib/librte_pdump == Build lib/librte_gso == Build lib/librte_bpf == Build lib/librte_port == Build lib/librte_table == Build lib/librte_flow_classify == Build lib/librte_pipeline == Build buildtools == Build kernel == Build buildtools/pmdinfogen == Build kernel/linux == Build kernel/linux/igb_uio == Build kernel/linux/kni == Build drivers == Build drivers/common == Build drivers/common/cpt == Build drivers/common/octeontx == Build drivers/common/dpaax == Build drivers/bus == Build drivers/bus/dpaa == Build drivers/bus/fslmc == Build drivers/bus/ifpga == Build drivers/bus/pci == Build drivers/bus/vdev == Build drivers/bus/vmbus == Build drivers/mempool == Build drivers/mempool/bucket == Build drivers/mempool/dpaa == Build drivers/mempool/ring == Build drivers/mempool/octeontx == Build drivers/mempool/stack == Build drivers/mempool/dpaa2 Building modules, stage 2. Building modules, stage 2. == Build drivers/net == Build drivers/baseband == Build drivers/crypto == Build drivers/common/qat == Build drivers/compress MODPOST 1 modules MODPOST 1 modules == Build drivers/crypto/null == Build drivers/crypto/octeontx == Build drivers/crypto/scheduler == Build drivers/crypto/dpaa2_sec == Build drivers/compress/octeontx == Build drivers/net/af_packet == Build drivers/baseband/null == Build drivers/net/ark == Build drivers/crypto/dpaa_sec == Build drivers/net/atlantic == Build drivers/net/avf == Build drivers/crypto/caam_jr == Build drivers/net/avp == Build drivers/net/axgbe == Build drivers/net/bonding == Build drivers/crypto/virtio == Build drivers/net/cxgbe == Build drivers/net/dpaa == Build drivers/net/dpaa2 == Build drivers/net/e1000 == Build drivers/net/ena == Build drivers/net/enetc == Build drivers/net/enic == Build drivers/net/failsafe == Build drivers/net/fm10k == Build drivers/net/i40e == Build drivers/net/ixgbe == Build drivers/net/liquidio == Build drivers/net/netvsc == Build drivers/net/nfp == Build drivers/net/bnxt == Build drivers/net/null == Build drivers/net/octeontx == Build drivers/net/qede == Build drivers/net/ring == Build drivers/net/sfc == Build drivers/net/tap == Build drivers/net/thunderx == Build drivers/net/vdev_netvsc == Build drivers/net/virtio == Build drivers/net/vmxnet3 == Build drivers/net/kni == Build drivers/net/softnic == Build drivers/net/vhost == Build drivers/net/ifc == Build drivers/event == Build drivers/event/dsw == Build drivers/event/sw == Build drivers/event/skeleton == Build drivers/event/octeontx == Build drivers/event/opdl == Build drivers/event/dpaa == Build drivers/event/dpaa2 == Build drivers/raw == Build drivers/raw/skeleton_rawdev == Build drivers/raw/ifpga_rawdev == Build drivers/raw/dpaa2_cmdif == Build drivers/raw/dpaa2_qdma == Build app == Build app/proc-info == Build app/test-pmd == Build app/test-bbdev == Build app/pdump == Build app/test-crypto-perf == Build app/test-eventdev Build complete [x86_64-native-linuxapp-gcc] Installation cannot run with T defined and DESTDIR undefined Setting up hugepages Removing currently reserved hugepages Unmounting /mnt/huge and removing directory Reserving hugepages Creating /mnt/huge and mounting as hugetlbfs Huge pages successfully configured ndoev /mnt/huge hugetlbfs pagesize=1GB 0 0 Configuring environment Setting up hugepages Removing currently reserved hugepages Unmounting /mnt/huge and removing directory Reserving hugepages Creating /mnt/huge and mounting as hugetlbfs Huge pages successfully configured Loading uio kernel modules Checking NIC status

Network devices using kernel driver

0000:02:00.0 'I350 Gigabit Network Connection 1521' if=enp2s0f0 drv=igb unused=igb_uio 0000:02:00.1 'I350 Gigabit Network Connection 1521' if=enp2s0f1 drv=igb unused=igb_uio 0000:02:00.2 'I350 Gigabit Network Connection 1521' if=enp2s0f2 drv=igb unused=igb_uio 0000:02:00.3 'I350 Gigabit Network Connection 1521' if=enp2s0f3 drv=igb unused=igb_uio 0000:81:00.0 'Ethernet Controller 10G X550T 1563' if=enp129s0f0 drv=ixgbe unused=igb_uio Active 0000:81:00.1 'Ethernet Controller 10G X550T 1563' if=enp129s0f1 drv=ixgbe unused=igb_uio

No 'Crypto' devices detected

No 'Eventdev' devices detected

No 'Mempool' devices detected

No 'Compress' devices detected

Binding NIC status Binding 02:00.0 to DPDK Binding 02:00.1 to DPDK Finished Binding

Network devices using DPDK-compatible driver

0000:02:00.0 'I350 Gigabit Network Connection 1521' drv=igb_uio unused=igb 0000:02:00.1 'I350 Gigabit Network Connection 1521' drv=igb_uio unused=igb

Network devices using kernel driver

0000:02:00.2 'I350 Gigabit Network Connection 1521' if=enp2s0f2 drv=igb unused=igb_uio 0000:02:00.3 'I350 Gigabit Network Connection 1521' if=enp2s0f3 drv=igb unused=igb_uio 0000:81:00.0 'Ethernet Controller 10G X550T 1563' if=enp129s0f0 drv=ixgbe unused=igb_uio Active 0000:81:00.1 'Ethernet Controller 10G X550T 1563' if=enp129s0f1 drv=ixgbe unused=igb_uio

No 'Crypto' devices detected

No 'Eventdev' devices detected

No 'Mempool' devices detected

No 'Compress' devices detected

Disabling hyperthreading... CPU(s): 40 Thread(s) per core: 1 Core(s) per socket: 10 Socket(s): 2 Environment setup complete. ONVM INSTALL COMPLETED SUCCESSFULLY huanghe@h404f-01:~/WEB/openNetVM/scripts$ cd huanghe@h404f-01:~$ cd NFVnice_Source/onvm/ huanghe@h404f-01:~/NFVnice_Source/onvm$ make == shared CC onvm_pkt_helper.o In file included from /home/huanghe/NFVnice_Source/onvm/shared/onvm_pkt_helper.c:48:0: /home/huanghe/NFVnice_Source/onvm/shared/onvm_pkt_helper.c: In function ‘onvm_pkt_mac_addr_swap’: /home/huanghe/WEB/openNetVM/dpdk/x86_64-native-linuxapp-gcc/include/rte_ether.h:239:9: error: ‘addr’ may be used uninitialized in this function [-Werror=maybe-uninitialized] ea_to = ea_from;


cc1: all warnings being treated as errors
/home/huanghe/WEB/openNetVM/dpdk/mk/internal/rte.compile-pre.mk:114: recipe for target 'onvm_pkt_helper.o' failed
make[2]: *** [onvm_pkt_helper.o] Error 1
/home/huanghe/WEB/openNetVM/dpdk/mk/rte.extlib.mk:16: recipe for target 'all' failed
make[1]: *** [all] Error 2
/home/huanghe/WEB/openNetVM/dpdk/mk/rte.extsubdir.mk:21: recipe for target 'shared' failed
make: *** [shared] Error 2
dennisafa commented 4 years ago

Hi, Adding onto what @sameergk said, that older version of ONVM may not be compatible with the gcc version that comes with Ubuntu 18.04. This is why maybe-uninitialized errors may pop up.

kevindweb commented 4 years ago

Is this something we can fix or close? If the current ONVM version works, this probably won't happen again?