From mboxrd@z Thu Jan 1 00:00:00 1970 From: Panu Matilainen Subject: Re: Can't compile DPDK if both CONFIG_RTE_BUILD_COMBINE_LIBS and LIBRTE_PMD_XENVIRT are set to "yes" Date: Wed, 25 Nov 2015 10:44:20 +0200 Message-ID: <565574E4.3020501@redhat.com> References: <56546CAE.8050401@redhat.com> <56547837.5080803@intel.com> <565480BD.7060305@redhat.com> <565487DF.7060802@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Cc: dev@dpdk.org To: =?UTF-8?B?TWFydGlueCAtIOOCuOOCp+ODvOODoOOCug==?= 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) In-Reply-To: List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 11/25/2015 02:26 AM, Martinx - =E3=82=B8=E3=82=A7=E3=83=BC=E3=83=A0=E3= =82=BA wrote: > On 24 November 2015 at 13:53, Panu Matilainen wro= te: >> On 11/24/2015 05:30 PM, Martinx - =E3=82=B8=E3=82=A7=E3=83=BC=E3=83=A0= =E3=82=BA wrote: >>> >>> On 24 November 2015 at 13:22, Panu Matilainen w= rote: >>>> >>>> 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 - =E3=82=B8=E3=82=A7=E3=83=BC=E3=83= =A0=E3=82=BA 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 repositor= y >>>>>>> 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 sam= e >>>>>>> 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 buil= d 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 i= n >>>>>> risk of collapsing under its own weight for some time now. >>>>>> >>>>>> A much better way of achieving the same is using a so called linke= r >>>>>> 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 RH= EL >>>>>> and consumers like OVS and pktgen never knew the difference. >>>>>> >>>>>> The linker script approach has been suggested before but somehow t= he >>>>>> threads died without nothing actually happening. I'll revive the p= atch >>>>>> 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 posi= tion >>>>> 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 absolute= ly no >> need to be held hostage by that patch, you can just disable the combin= ed >> 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,=20 its only used during building. The ABI versions are carried by the=20 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... =3D) > > 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 >