From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <thiagocmartinsc@gmail.com>
Received: from mail-wm0-f41.google.com (mail-wm0-f41.google.com [74.125.82.41])
 by dpdk.org (Postfix) with ESMTP id 0637A8DA7
 for <dev@dpdk.org>; Wed, 25 Nov 2015 01:26:51 +0100 (CET)
Received: by wmuu63 with SMTP id u63so118083570wmu.0
 for <dev@dpdk.org>; Tue, 24 Nov 2015 16:26:50 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
 h=mime-version:in-reply-to:references:from:date:message-id:subject:to
 :cc:content-type:content-transfer-encoding;
 bh=tT4y+pzSJ4Zm/Tx/CnHWZhemn5Ug+L196qSC4qtrAVY=;
 b=hpJuhUTIY9gbZSK+s62vb/Nu+NMeMfsFuyKc1tx1Dv3538nNRryNtb07RyRJdPOoEW
 8PxM7dpDdwr8WitaeBRWBKkOFTF/rc9kbv/MNQ1OzPC+bt4fZEWS0TgGcXwlZyUMrRka
 IhnGIWPOHKkBd5UKUADTMYqe/zopQKkB9/Do5eK4DFMt6wZ2S6qhew56nVJ1rn0f6CF5
 OtR1naoOIRdM9syW4p2uzw+217A7Nv62JJ1nq8Y9uO3dv8brZL5bvo5bQMCcC0r7wRy6
 SogIUFMqLL0/7IvaPfVP4cX6z3XkOexPy//v4bFloNm3oU1dWen9+ZCOxF7DyzLlYvZ+
 5RUA==
X-Received: by 10.194.21.170 with SMTP id w10mr46230071wje.29.1448411210878;
 Tue, 24 Nov 2015 16:26:50 -0800 (PST)
MIME-Version: 1.0
Received: by 10.28.165.138 with HTTP; Tue, 24 Nov 2015 16:26:21 -0800 (PST)
In-Reply-To: <565487DF.7060802@redhat.com>
References: <CAJSM8J2D_trMfzeSJAcuYD4sf-6GqdfhF-FdMOYV=0NFSGa0kQ@mail.gmail.com>
 <56546CAE.8050401@redhat.com> <56547837.5080803@intel.com>
 <565480BD.7060305@redhat.com>
 <CAJSM8J0Pc2CqoEahVw0ia6xhzZ5==O=qC=yWxscHhrz6xnzoZA@mail.gmail.com>
 <565487DF.7060802@redhat.com>
From: =?UTF-8?B?TWFydGlueCAtIOOCuOOCp+ODvOODoOOCug==?=
 <thiagocmartinsc@gmail.com>
Date: Tue, 24 Nov 2015 22:26:21 -0200
Message-ID: <CAJSM8J2CXOfiamVK5-uvdPnO-sL0LsHsOMqMi1qr=MxbaTKpFw@mail.gmail.com>
To: Panu Matilainen <pmatilai@redhat.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
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 <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Wed, 25 Nov 2015 00:26:51 -0000

On 24 November 2015 at 13:53, Panu Matilainen <pmatilai@redhat.com> wrote:
> 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 <pmatilai@redhat.com> wrot=
e:
>>>
>>> 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-rc=
1,
>>>>>> 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 i=
t
>>>>>> 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 patc=
h
>>>>> 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 positio=
n
>>>> to continue the work than me.
>>>
>>>
>>>
>>> Ok, I suspected as much but thanks for confirming. I'll continue the wo=
rk
>>> 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 ha=
nd
> 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...

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