From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by dpdk.org (Postfix) with ESMTP id 3941C374C for ; Wed, 25 Nov 2015 09:44:23 +0100 (CET) Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (Postfix) with ESMTPS id 9F4EB461DA; Wed, 25 Nov 2015 08:44:22 +0000 (UTC) Received: from sopuli.koti.laiskiainen.org (vpn1-4-169.ams2.redhat.com [10.36.4.169]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id tAP8iKim030666; Wed, 25 Nov 2015 03:44:21 -0500 To: =?UTF-8?B?TWFydGlueCAtIOOCuOOCp+ODvOODoOOCug==?= References: <56546CAE.8050401@redhat.com> <56547837.5080803@intel.com> <565480BD.7060305@redhat.com> <565487DF.7060802@redhat.com> From: Panu Matilainen Message-ID: <565574E4.3020501@redhat.com> Date: Wed, 25 Nov 2015 10:44:20 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22 Cc: dev@dpdk.org Subject: Re: [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: Wed, 25 Nov 2015 08:44:23 -0000 On 11/25/2015 02:26 AM, Martinx - ジェームズ wrote: > On 24 November 2015 at 13:53, Panu Matilainen wrote: >> On 11/24/2015 05:30 PM, Martinx - ジェームズ wrote: >>> >>> On 24 November 2015 at 13:22, Panu Matilainen wrote: >>>> >>>> On 11/24/2015 04:46 PM, Sergio Gonzalez Monroy wrote: >>>>> >>>>> >>>>> On 24/11/2015 13:57, Panu Matilainen wrote: >>>>>> >>>>>> >>>>>> On 11/23/2015 08:37 PM, Martinx - ジェームズ wrote: >>>>>>> >>>>>>> >>>>>>> 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 >>>>>>> >>>>>> [...] >>>>>>> >>>>>>> >>>>>>> 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? >>>>>> >>>>>> >>>>>> >>>>>> DPDK bug I would say. The combined library has been increasingly in >>>>>> risk of collapsing under its own weight for some time now. >>>>>> >>>>>> A much better way of achieving the same is using a so called linker >>>>>> script which is essentially just an ascii file listing all the >>>>>> individual libraries which the linker handles behind the scenes. >>>>>> FWIW, that's how the combined library is packaged on Fedora and RHEL >>>>>> and consumers like OVS and pktgen never knew the difference. >>>>>> >>>>>> The linker script approach has been suggested before but somehow the >>>>>> threads died without nothing actually happening. I'll revive the patch >>>>>> and post here shortly. Unless Sergio (cc'd) who previously worked on >>>>>> the patches has a newer version cooking silently? >>>>>> >>>>> I haven't worked on it since, so you probably are in a better position >>>>> to continue the work than me. >>>> >>>> >>>> >>>> Ok, I suspected as much but thanks for confirming. I'll continue the work >>>> as >>>> time permits. >>>> >>>> - Panu - >>>> >>> >>> Cool! Thank you guys for this fast reply... >>> >>> Just a curiosity, do you guys think that this will be ready for 2.2? >>> Or maybe just for 2.3? >>> >>> I'm hoping to use this for next Ubuntu release, Xenial on 2016, April >>> (Ubuntu 16.04 LTS). >>> >>> So, I think that there is time, if not too much trouble for you guys >>> (honestly, I don't know how hard is to fix that)... :-) >> >> >> Feel free to try this out: http://dpdk.org/dev/patchwork/patch/9088/ >> >> Whether it lands in time for 2.2 I dont know. However there's absolutely no >> need to be held hostage by that patch, you can just disable the combined >> library build option and drop a linker script in its place, created by hand >> or with couple of lines of shell script, eg: >> http://pkgs.fedoraproject.org/cgit/dpdk.git/tree/dpdk.spec#n234 >> >> - Panu - >> > > Helo Panu, > > This is getting interesting... Your patch worked (on top of > dpdk-2.2.0-rc1) but, now, it broke Ubuntu / Debian packaging, because > your patch adds a new file called "mk/rte.combinedlib.mk" but it also, > removes the file "mk/rte.sharelib.mk", which Ubuntu is using to enable > "LIB ABI Version" on DPDK. > > I'm talking about the following Ubuntu Patch (very simple and small): > > --- > tmartins@xenial-1:~/dpdk/ubuntu/dpdk-2.0.0$ cat > debian/patches/ubuntu-combined-shared-lib-abiversion.patch > > http://pastebin.com/VhpMF5U1 > --- > > So, with your patch, I can now compile DPDK while using both options > (_COMBINE_LIBS and _XENVIRT) at the same time but, unfortunately, > Ubuntu packaging is now broken... > > Yes, I know that you guys have nothing to do with that but, I think > that it would be GREAT if DPDK comes with "Lib ABI Version" by > default... > > So, is it possible to, somehow, include "LIBABIVER" on your new > "mk/rte.combinedlib.mk" file? > > Then, Ubuntu / Debian will not need to patch DPDK anymore, during > build/packaging process... The linker script has no ABI version because its not a run-time library, its only used during building. The ABI versions are carried by the individual libraries themselves. - Panu - > I really don't mind if DPDK team (or you Panu) just ignore this > request, I know you guys are very busy, no problem... =) > > Nevertheless, I'll also try your suggestion, to use something like this: > > http://pkgs.fedoraproject.org/cgit/dpdk.git/tree/dpdk.spec#n234 > > ...to see if it behaves differently, and of course, to see if it > builds the Debian package in the end of the day. > > Thanks again! > Thiago >