From: Panu Matilainen <pmatilai@redhat.com>
To: "Martinx - ジェームズ" <thiagocmartinsc@gmail.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: Wed, 25 Nov 2015 10:44:20 +0200 [thread overview]
Message-ID: <565574E4.3020501@redhat.com> (raw)
In-Reply-To: <CAJSM8J2CXOfiamVK5-uvdPnO-sL0LsHsOMqMi1qr=MxbaTKpFw@mail.gmail.com>
On 11/25/2015 02:26 AM, Martinx - ジェームズ wrote:
> 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...
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
>
next prev parent reply other threads:[~2015-11-25 8:44 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 - ジェームズ
2015-11-25 8:44 ` Panu Matilainen [this message]
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=565574E4.3020501@redhat.com \
--to=pmatilai@redhat.com \
--cc=dev@dpdk.org \
--cc=thiagocmartinsc@gmail.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).