On 24 November 2015 at 13:53, Panu Matilainen <pmatilai at redhat.com> wrote: > 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 - >
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 at 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

