DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Martinx - ジェームズ" <thiagocmartinsc@gmail.com>
To: Panu Matilainen <pmatilai@redhat.com>
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"
Date: Tue, 24 Nov 2015 22:26:21 -0200	[thread overview]
Message-ID: <CAJSM8J2CXOfiamVK5-uvdPnO-sL0LsHsOMqMi1qr=MxbaTKpFw@mail.gmail.com> (raw)
In-Reply-To: <565487DF.7060802@redhat.com>

On 24 November 2015 at 13:53, Panu Matilainen <pmatilai@redhat.com> wrote:
> On 11/24/2015 05:30 PM, Martinx - ジェームズ wrote:
>>
>> On 24 November 2015 at 13:22, Panu Matilainen <pmatilai@redhat.com> 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...

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

  reply	other threads:[~2015-11-25  0:26 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-23 18:37 Martinx - ジェームズ
2015-11-24 13:57 ` Panu Matilainen
2015-11-24 14:46   ` Sergio Gonzalez Monroy
2015-11-24 15:22     ` Panu Matilainen
2015-11-24 15:30       ` Martinx - ジェームズ
2015-11-24 15:53         ` Panu Matilainen
2015-11-25  0:26           ` Martinx - ジェームズ [this message]
2015-11-25  8:44             ` Panu Matilainen
2015-12-04 19:11 ` Thomas Monjalon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAJSM8J2CXOfiamVK5-uvdPnO-sL0LsHsOMqMi1qr=MxbaTKpFw@mail.gmail.com' \
    --to=thiagocmartinsc@gmail.com \
    --cc=dev@dpdk.org \
    --cc=pmatilai@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).