Hello, I built dpdk 1.7.0 with the share library and combine library options activated, but I receive errors when building an example application and when running the test module in tools/setup.sh.
I modified the common_linuxapp file (dpdk-1.7.0/config/common_linuxapp) to share library and combine into one library as follow: CONFIG_RTE_BUILD_SHARED_LIB=y # Compile to share library CONFIG_RTE_BUILD_COMBINE_LIBS=y # Combine to one single library Then I built using the following commands: CONFIG_RTE_LIBRTE_MLX4_PMD=y export EXTRA_CFLAGS=-I$TMP/install/usr/local/include export EXTRA_LDFLAGS=-L$TMP/install/usr/local/lib make config T=x86_64-native-linuxapp-gcc make I executed the tools/setup.sh script and ran the test modules, but I get this error: Option: 17 Enter hex bitmask of cores to execute test app on Example: to execute app on cores 0 to 7, enter 0xff bitmask: 0x01 Launching app sudo: /app/test: command not found Press enter to continue ... Option 17 is "Run test application ($RTE_TARGET/app/test)". Building the helloworld sample application yields the following error: ubuntu-pc at ubuntu-pc:~/devel-ostinato-dpdk/ostinato-dpdk-master/dpdk-1.7.0/examples/helloworld$ export RTE_SDK=/home/ubuntu- pc/devel-ostinato-dpdk/ostinato-dpdk-master/dpdk-1.7.0 ubuntu-pc at ubuntu-pc:~/devel-ostinato-dpdk/ostinato-dpdk-master/dpdk-1.7.0/examples/helloworld$ export RTE_TARGET=x86_64- native-linuxapp-gcc ubuntu-pc at ubuntu-pc:~/devel-ostinato-dpdk/ostinato-dpdk-master/dpdk-1.7.0/examples/helloworld$ make LD helloworld /home/ubuntu-pc/devel-ostinato-dpdk/ostinato-dpdk-master/dpdk-1.7.0/x86_64-native-linuxapp-gcc/lib/librte_eal.so: undefined reference to `rte_malloc' /home/ubuntu-pc/devel-ostinato-dpdk/ostinato-dpdk-master/dpdk-1.7.0/x86_64-native-linuxapp-gcc/lib/librte_eal.so: undefined reference to `rte_mempool_lookup' /home/ubuntu-pc/devel-ostinato-dpdk/ostinato-dpdk-master/dpdk-1.7.0/x86_64-native-linuxapp-gcc/lib/librte_eal.so: undefined reference to `rte_zmalloc' /home/ubuntu-pc/devel-ostinato-dpdk/ostinato-dpdk-master/dpdk-1.7.0/x86_64-native-linuxapp-gcc/lib/librte_eal.so: undefined reference to `rte_free' /home/ubuntu-pc/devel-ostinato-dpdk/ostinato-dpdk-master/dpdk-1.7.0/x86_64-native-linuxapp-gcc/lib/librte_eal.so: undefined reference to `rte_mempool_create' collect2: ld returned 1 exit status make[1]: *** [helloworld] Error 1 make: *** [all] Error 2 ubuntu-pc at ubuntu-pc:~/devel-ostinato-dpdk/ostinato-dpdk-master/dpdk-1.7.0/examples/helloworld$ I also built dpdk 2.0.0 on the same PC, but I received the same errors. My steps for building dpdk 2.0.0 are as follows: Modify the following lines in common_linuxapp file (dpdk-1.7.0/config/common_linuxapp): CONFIG_RTE_BUILD_SHARED_LIB=y # Compile to share library CONFIG_RTE_BUILD_COMBINE_LIBS=y # Combine to one single library Execute the commands: CONFIG_RTE_LIBRTE_MLX4_PMD=y export EXTRA_CFLAGS=-I$TMP/install/usr/local/include export EXTRA_LDFLAGS=-L$TMP/install/usr/local/lib make config T=x86_64-native-linuxapp-gcc sed -ri 's,(PMD_PCAP=).*,\1y,' build/.config make If I don't enable the share library and combine library options, I was able to build the helloworld example and run the test modules in tools/setup.sh without any issues. However I need to enable these two options to build an application (In my case, the open source Ostinato dpdk traffic generator. See: https://github.com/pstavirs/ostinato and https://github.com/PLVision/ostinato-dpdk) My environment: Linux ubuntu-pc 3.13.0-32-generic #57~precise1-Ubuntu OS: Ubuntu 12.04.5 desktop amd64 (http://releases.ubuntu.com/12.04/) on an Intel CPU. Linux Kernel: 3.13.0-32-generic For the 3.13.0 kernel I had to modify the kcompat.h file in dpdk-1.7.0/lib/librte_eal/linuxapp/kni/ethtool/igb to comply with this kernel. I modified line 3848 to: #if ( LINUX_VERSION_CODE < KERNEL_VERSION(3,13,0) ) I also built these two dpdk versions on the same PC using the 3.14.4 kernel but I still ended with the same results. What steps do I need to take to make dpdk run properly (i.e. build example apps and run test modules) while keeping the shared library and combine library options set? I would like to note that in my attempts, dpdk was built without any errors and binding drivers to NICs worked (despite not having dpdk supported NICs). I need this to build the Ostinato application. Also, what will my NIC do if it has the igb_uio driver on it despite not being a dpdk supported device? My NICs: Realtek RTL-8110SC/8169SC Gigabit Ethernet Intel 82579V Gigabit Network Connection I apologize for the long post. Thank you and kind regards, Will