[dpdk-dev] Can't compile DPDK if both CONFIG_RTE_BUILD_COMBINE_LIBS and LIBRTE_PMD_XENVIRT are set to "yes"

Panu Matilainen pmatilai at redhat.com
Tue Nov 24 16:53:03 CET 2015


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



More information about the dev mailing list