From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-yk0-f170.google.com (mail-yk0-f170.google.com [209.85.160.170]) by dpdk.org (Postfix) with ESMTP id 84D5E8E97 for ; Mon, 23 Nov 2015 19:38:11 +0100 (CET) Received: by ykba77 with SMTP id a77so247144890ykb.2 for ; Mon, 23 Nov 2015 10:38:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to:content-type; bh=1orBAkdsNlqFfZRy/T2rWWT+JgAvKIw3cGawb8G8YtA=; b=XebuIigLHTM6wUDJE0Jj6XqX3Xg/QPV3E0it5QfPtv3qsy/5N/FoFjxgl0NOuP/GId vI0VnHJ/Pg2urbw+09AUfglXNDUZ/1rMjpMWLhCLnawFLEAikFoR6YE5Kdv7uZHcDvbr yVnVrzSw+td948/9JIqIiDLfs9IQTsz/XWTE6HZhgIP+b5rBnNa7PIADM0GI4BftzuNv vzxTiM5Ms4SeGGsUG8HWSi/28k8hCOLF6cCmCprR0H+utRZHB4+yMFEbGEWx3lQ3ovpA s0SkH83M/3zf7Ee5iYr7g1XyoT+Rx/p+egTk/8Vn6EdkGu+Gdu3uRoh8SPVK5vuBpjng o77w== X-Received: by 10.129.45.212 with SMTP id t203mr9931714ywt.166.1448303890925; Mon, 23 Nov 2015 10:38:10 -0800 (PST) MIME-Version: 1.0 Received: by 10.37.208.66 with HTTP; Mon, 23 Nov 2015 10:37:41 -0800 (PST) From: =?UTF-8?B?TWFydGlueCAtIOOCuOOCp+ODvOODoOOCug==?= Date: Mon, 23 Nov 2015 16:37:41 -0200 Message-ID: To: dev@dpdk.org Content-Type: text/plain; charset=UTF-8 Subject: [dpdk-dev] Can't compile DPDK if both CONFIG_RTE_BUILD_COMBINE_LIBS and LIBRTE_PMD_XENVIRT are set to "yes" X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Nov 2015 18:38:11 -0000 Hello! My name is Thiago, I'm trying to compile DPDK 2.0, 2.1 and/or 2.2-rc1, on Ubuntu with Xen support but, it does not build... Also, initially, I'm using DPDK sources from Ubuntu APT repository but, it is also reproducible using upstream DPDK tarball as well, explained as follows: Problem: * It is not possible to use the following DPDK options at the same time: CONFIG_RTE_BUILD_COMBINE_LIBS LIBRTE_PMD_XENVIRT Ubuntu DPDK .deb package uses CONFIG_RTE_BUILD_COMBINE_LIBS and, without it, it can't build its .deb binary package (step: "make -f debian/rules binary" doesn't work). So, if you have the above two options set to "yes", the following error appear while building DPDK: http://pastebin.com/xUsQPxh8 -- * Steps to reproduce it on Ubuntu * You'll need to download, build and package DPDK using 100% Ubuntu tools... ;-) 1- Install Ubuntu 15.10 64-bit, Server or Desktop (If you're brave, go for Ubuntu 16.04 Xenial dev branch); NOTE 1: Make sure you have uncommented some 'source' URIs in your /etc/apt/sources.list file. You can use the following Regex on vi: sudo vi /etc/apt/sources.list :%s/^# deb-src/deb-src/cg NOTE 2: Install on your Ubuntu: sudo apt-get install fakeroot libxen-dev 2- Download and build DPDK 2.0 # Install DPDK build dependencies: sudo apt-get update sudo apt-get build-dep dpdk mkdir -p ~/dpdk/ubuntu ; cd ~/dpdk/ubuntu # Download DPDK: apt-get source dpdk cd dpdk-2.0.0 # Build DPDK (without Xen, just defaults from Ubuntu package, it works): make -f debian/rules build # to build it make -f debian/rules binary # to package it into .deb files # or dpkg-buildpackage -rfakeroot -uc -us It will build okay! Like a charm... But, now, if you want to enable LIBRTE_PMD_XENVIRT, it fails. To reproduce this problem, try this: vi debian/rules And bellow the lines (yes, it is duplicated, we know, add twice too): -e 's,(CONFIG_RTE_LIBNAME=).*,\1"dpdk",' \ Append the following line: -e 's,(LIBRTE_PMD_XENVIRT=).*,\1y,' \ Then, it fails to build, look: fakeroot make -f debian/rules build # Line 486 of: http://pastebin.com/jjn8Fja1 ----- 2.1- Download and build DPDK 2.2.0-rc1 * Steps to reproduce it using most recent DPDK tarball * So, lets say that you guys wants to test it using upstream DPDK tarball... If you followed above instructions (step 2), you have everything you need to build any DPDK version on Ubuntu (thanks to "apt-get build-dep dpdk" step and sources 'URI' on your sources.list). Steps: mkdir -p ~/dpdk/2.2.0-rc1 ; cd ~/dpdk/2.2.0-rc1 wget http://dpdk.org/browse/dpdk/snapshot/dpdk-2.2.0-rc1.tar.gz tar xf dpdk-2.2.0-rc1.tar.gz cd dpdk-2.2.0-rc1 make T=x86_64-native-linuxapp-gcc config sed -ri -e 's,(RTE_MACHINE=).*,\1"default",' \ -e 's,(RTE_APP_TEST=).*,\1n,' \ -e 's,(RTE_BUILD_SHARED_LIB=).*,\1y,' \ -e 's,(RTE_EAL_IGB_UIO=).*,\1n,' \ -e 's,(CONFIG_RTE_LIBRTE_KNI=).*,\1n,' \ -e 's,(CONFIG_RTE_BUILD_COMBINE_LIBS=).*,\1y,' \ -e 's,(CONFIG_RTE_LIBNAME=).*,\1"dpdk",' \ -e 's,(LIBRTE_VHOST=).*,\1y,' \ -e 's,(LIBRTE_PMD_XENVIRT=).*,\1y,' \ -e 's,(LIBRTE_XEN_DOM0=).*,\1y,' \ build/.config Then, it also fails to build: make Build error: http://pastebin.com/fuUkpF4w If you remove "CONFIG_RTE_BUILD_COMBINE_LIBS", then, you can build it with "LIBRTE_PMD_XENVIRT", and vice-versa. But, without "...COMBINE_LIBS", Ubuntu .deb package doesn't get builded. BTW, the option LIBRTE_XEN_DOM0 is fine when also enabling COMBINE_LIBS... Am I missing something? Is this by design or a DPDK bug? Thanks in advance! Best, Thiago