DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] Can't compile DPDK if both CONFIG_RTE_BUILD_COMBINE_LIBS and LIBRTE_PMD_XENVIRT are set to "yes"
@ 2015-11-23 18:37 Martinx - ジェームズ
  2015-11-24 13:57 ` Panu Matilainen
  2015-12-04 19:11 ` Thomas Monjalon
  0 siblings, 2 replies; 9+ messages in thread
From: Martinx - ジェームズ @ 2015-11-23 18:37 UTC (permalink / raw)
  To: dev

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

--

* Steps to reproduce it on Ubuntu *

You'll need to download, build and package DPDK using 100% Ubuntu
tools...     ;-)

1- Install Ubuntu 15.10 64-bit, Server or Desktop (If you're brave, go
for Ubuntu 16.04 Xenial dev branch);

NOTE 1: Make sure you have uncommented some 'source' URIs in your
/etc/apt/sources.list file. You can use the following Regex on vi:

    sudo vi /etc/apt/sources.list

    :%s/^# deb-src/deb-src/cg

NOTE 2: Install on your Ubuntu:

    sudo apt-get install fakeroot libxen-dev


2- Download and build DPDK 2.0

# Install DPDK build dependencies:

    sudo apt-get update
    sudo apt-get build-dep dpdk

    mkdir -p ~/dpdk/ubuntu ; cd ~/dpdk/ubuntu

# Download DPDK:

    apt-get source dpdk

    cd dpdk-2.0.0

# Build DPDK (without Xen, just defaults from Ubuntu package, it works):

    make -f debian/rules build  # to build it
    make -f debian/rules binary  # to package it into .deb files

# or

    dpkg-buildpackage -rfakeroot -uc -us

It will build okay! Like a charm...

But, now, if you want to enable LIBRTE_PMD_XENVIRT, it fails. To
reproduce this problem, try this:

     vi debian/rules

And bellow the lines (yes, it is duplicated, we know, add twice too):

                -e 's,(CONFIG_RTE_LIBNAME=).*,\1"dpdk",' \

Append the following line:

                -e 's,(LIBRTE_PMD_XENVIRT=).*,\1y,' \

Then, it fails to build, look:

    fakeroot make -f debian/rules build

# Line 486 of:

    http://pastebin.com/jjn8Fja1

-----

2.1- Download and build DPDK 2.2.0-rc1

 * Steps to reproduce it using most recent DPDK tarball *

So, lets say that you guys wants to test it using upstream DPDK tarball...

If you followed above instructions (step 2), you have everything you
need to build any DPDK version on Ubuntu (thanks to "apt-get build-dep
dpdk" step and sources 'URI' on your sources.list).

Steps:

mkdir -p ~/dpdk/2.2.0-rc1 ; cd ~/dpdk/2.2.0-rc1

wget http://dpdk.org/browse/dpdk/snapshot/dpdk-2.2.0-rc1.tar.gz

tar xf dpdk-2.2.0-rc1.tar.gz

cd dpdk-2.2.0-rc1

        make T=x86_64-native-linuxapp-gcc config

        sed -ri -e 's,(RTE_MACHINE=).*,\1"default",' \
                -e 's,(RTE_APP_TEST=).*,\1n,' \
                -e 's,(RTE_BUILD_SHARED_LIB=).*,\1y,' \
                -e 's,(RTE_EAL_IGB_UIO=).*,\1n,' \
                -e 's,(CONFIG_RTE_LIBRTE_KNI=).*,\1n,' \
                -e 's,(CONFIG_RTE_BUILD_COMBINE_LIBS=).*,\1y,' \
                -e 's,(CONFIG_RTE_LIBNAME=).*,\1"dpdk",' \
                -e 's,(LIBRTE_VHOST=).*,\1y,' \
                -e 's,(LIBRTE_PMD_XENVIRT=).*,\1y,' \
                -e 's,(LIBRTE_XEN_DOM0=).*,\1y,' \
                build/.config

Then, it also fails to build:

         make

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?

Thanks in advance!

Best,
Thiago

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [dpdk-dev] Can't compile DPDK if both CONFIG_RTE_BUILD_COMBINE_LIBS and LIBRTE_PMD_XENVIRT are set to "yes"
  2015-11-23 18:37 [dpdk-dev] Can't compile DPDK if both CONFIG_RTE_BUILD_COMBINE_LIBS and LIBRTE_PMD_XENVIRT are set to "yes" Martinx - ジェームズ
@ 2015-11-24 13:57 ` Panu Matilainen
  2015-11-24 14:46   ` Sergio Gonzalez Monroy
  2015-12-04 19:11 ` Thomas Monjalon
  1 sibling, 1 reply; 9+ messages in thread
From: Panu Matilainen @ 2015-11-24 13:57 UTC (permalink / raw)
  To: Martinx - ジェームズ,
	dev, Neil Horman, Gonzalez Monroy, Sergio

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?

P.S. I know, a "linker script" sounds exotic but they're actually rather 
commonplace. On an average Linux system, libc.so is a linker script for 
example.

	- Panu -

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [dpdk-dev] Can't compile DPDK if both CONFIG_RTE_BUILD_COMBINE_LIBS and LIBRTE_PMD_XENVIRT are set to "yes"
  2015-11-24 13:57 ` Panu Matilainen
@ 2015-11-24 14:46   ` Sergio Gonzalez Monroy
  2015-11-24 15:22     ` Panu Matilainen
  0 siblings, 1 reply; 9+ messages in thread
From: Sergio Gonzalez Monroy @ 2015-11-24 14:46 UTC (permalink / raw)
  To: Panu Matilainen; +Cc: dev

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.

Sergio
> P.S. I know, a "linker script" sounds exotic but they're actually 
> rather commonplace. On an average Linux system, libc.so is a linker 
> script for example.
>
>     - Panu -

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [dpdk-dev] Can't compile DPDK if both CONFIG_RTE_BUILD_COMBINE_LIBS and LIBRTE_PMD_XENVIRT are set to "yes"
  2015-11-24 14:46   ` Sergio Gonzalez Monroy
@ 2015-11-24 15:22     ` Panu Matilainen
  2015-11-24 15:30       ` Martinx - ジェームズ
  0 siblings, 1 reply; 9+ messages in thread
From: Panu Matilainen @ 2015-11-24 15:22 UTC (permalink / raw)
  To: Sergio Gonzalez Monroy; +Cc: dev

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 -

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [dpdk-dev] Can't compile DPDK if both CONFIG_RTE_BUILD_COMBINE_LIBS and LIBRTE_PMD_XENVIRT are set to "yes"
  2015-11-24 15:22     ` Panu Matilainen
@ 2015-11-24 15:30       ` Martinx - ジェームズ
  2015-11-24 15:53         ` Panu Matilainen
  0 siblings, 1 reply; 9+ messages in thread
From: Martinx - ジェームズ @ 2015-11-24 15:30 UTC (permalink / raw)
  To: Panu Matilainen; +Cc: dev

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)...     :-)

Thanks!
Thiago

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [dpdk-dev] Can't compile DPDK if both CONFIG_RTE_BUILD_COMBINE_LIBS and LIBRTE_PMD_XENVIRT are set to "yes"
  2015-11-24 15:30       ` Martinx - ジェームズ
@ 2015-11-24 15:53         ` Panu Matilainen
  2015-11-25  0:26           ` Martinx - ジェームズ
  0 siblings, 1 reply; 9+ messages in thread
From: Panu Matilainen @ 2015-11-24 15:53 UTC (permalink / raw)
  To: Martinx - ジェームズ; +Cc: dev

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 -

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [dpdk-dev] Can't compile DPDK if both CONFIG_RTE_BUILD_COMBINE_LIBS and LIBRTE_PMD_XENVIRT are set to "yes"
  2015-11-24 15:53         ` Panu Matilainen
@ 2015-11-25  0:26           ` Martinx - ジェームズ
  2015-11-25  8:44             ` Panu Matilainen
  0 siblings, 1 reply; 9+ messages in thread
From: Martinx - ジェームズ @ 2015-11-25  0:26 UTC (permalink / raw)
  To: Panu Matilainen; +Cc: dev

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

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [dpdk-dev] Can't compile DPDK if both CONFIG_RTE_BUILD_COMBINE_LIBS and LIBRTE_PMD_XENVIRT are set to "yes"
  2015-11-25  0:26           ` Martinx - ジェームズ
@ 2015-11-25  8:44             ` Panu Matilainen
  0 siblings, 0 replies; 9+ messages in thread
From: Panu Matilainen @ 2015-11-25  8:44 UTC (permalink / raw)
  To: Martinx - ジェームズ; +Cc: dev

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
>

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [dpdk-dev] Can't compile DPDK if both CONFIG_RTE_BUILD_COMBINE_LIBS and LIBRTE_PMD_XENVIRT are set to "yes"
  2015-11-23 18:37 [dpdk-dev] Can't compile DPDK if both CONFIG_RTE_BUILD_COMBINE_LIBS and LIBRTE_PMD_XENVIRT are set to "yes" Martinx - ジェームズ
  2015-11-24 13:57 ` Panu Matilainen
@ 2015-12-04 19:11 ` Thomas Monjalon
  1 sibling, 0 replies; 9+ messages in thread
From: Thomas Monjalon @ 2015-12-04 19:11 UTC (permalink / raw)
  To: Martinx - ジェームズ; +Cc: dev

2015-11-23 16:37, Martinx - ジェームズ:
> 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

Fixed:
http://dpdk.org/browse/dpdk/commit/?id=539ed5f819c0

Thanks for reporting.

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2015-12-04 19:12 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-11-23 18:37 [dpdk-dev] Can't compile DPDK if both CONFIG_RTE_BUILD_COMBINE_LIBS and LIBRTE_PMD_XENVIRT are set to "yes" 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
2015-12-04 19:11 ` Thomas Monjalon

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).