Marco,

I just tried to build vpp on thunderx, following sequence works for my:

System is ubuntu xenial (debootstraped from ports.ubuntu.com).
Kernel is from cavium SDK (4.2.0), slightly modified (page size changed to 4K).

cd src
git clone <dpdk16.11>
cd dpdk
make T=arm64-thunderx-linuxapp-gcc install CROSS="" -j48
cd ..
git clone <latest-vpp-tree>
cd vpp
make bootstrap
make build-release \
  vpp_uses_external_dpdk=yes \
  vpp_dpdk_inc_dir=/home/damarion/src/dpdk/arm64-thunderx-linuxapp-gcc/include \
  vpp_dpdk_lib_dir=/home/damarion/src/dpdk/arm64-thunderx-linuxapp-gcc/lib

There is only small issue with python api, very simple change:


diff --git a/src/vpp-api/python/Makefile.am b/src/vpp-api/python/Makefile.am
index b8ca153..e654c50 100644
--- a/src/vpp-api/python/Makefile.am
+++ b/src/vpp-api/python/Makefile.am
@@ -42,7 +42,7 @@ install-exec-local:
        cd $(srcdir);                                                   \
        mkdir -p $(prefix)/lib/python2.7/site-packages;                 \
        PYTHONUSERBASE=$(prefix)                                        \
-       python setup.py build_ext -L $(prefix)/lib64 \
+       python setup.py build_ext -L $(prefix)/lib64 -L $(prefix)/lib   \
        -I $(prefix)/include/ install --user

 #

Let me know if this works for you...



> On 6 Jan 2017, at 17:11, Damjan Marion <dmarion.li...@gmail.com> wrote:
> 
> Marco, let me try it on my thunderx system. native build was working fine 
> some time ago but recently we introduced many changes. Do not use 
> PLATFORM=thunder as it was built long time ago before thunderx support was 
> officially released to dpdk and it is made to work with cavium sdk.
> 
> Will come back to you.
> 
> Thanks,
> 
> Damjan
> 
> 
> On 5 Jan 2017, at 10:19, Marco Varlese <marco.varl...@suse.com> wrote:
> 
>> On Wed, 2017-01-04 at 12:03 -0500, Burt Silverman wrote:
>>> Marco, it looks like the vpp.mk and vpp_lite.mk make an effort to 
>>> distinguish between x86_64 and NOT x86_64, but do not go beyond that. I 
>>> agree it sounds like that could be fleshed out for thunderx, so you can get 
>>> some optimal values for march, mtune, and whatever.
>> It does look like something is broken though. As you correctly said, the 
>> vpp.mk does distinguish at least between x86 and non-x86 architectures; 
>> however, if I take a clean snapshot from git and use the following commands:
>> 1) make PLATFORM=vpp bootstrap
>> 2) make PLATFORM=vpp build
>> 
>> I get the following error:
>> 
>> make[10]: *** 
>> [/root/repos/vpp/build-root/build-vpp_debug-native/dpdk/dpdk-16.11/mk/internal/rte.compile-pre.mk:140:
>>  eal_pci_uio.o] Error 1 
>> 
>> make[10]: *** Waiting for unfinished jobs.... 
>> In file included from 
>> /root/repos/vpp/build-root/install-vpp_debug-native/dpdk/include/rte_memcpy.h:46:0,
>>  
>>                 from 
>> /root/repos/vpp/build-root/build-vpp_debug-native/dpdk/dpdk-16.11/lib/librte_eal/common/rte_malloc.c:40:
>>  
>> /root/repos/vpp/build-root/install-vpp_debug-native/dpdk/include/rte_vect.h:69:23:
>>  fatal error: x86intrin.h: No such file or directory 
>> #include <x86intrin.h>
>> 
>> It looks like vpp.mk does not correctly waterfall the architecture (i.e. 
>> aarch64) to the local/internal DPDK build system since it tries to build for 
>> a x86 target...
>> 
>> - Marco
>> 
>>> On Wed, Jan 4, 2017 at 11:46 AM, Christophe FONTAINE 
>>> <christophe.fonta...@qosmos.com> wrote:
>>>> Hi Marco,
>>>> 
>>>> I'm a bit surprised you had a lot of issues compiling directly on the 
>>>> board: I don't have a ThunderX board to test, but I just built vpp on a 
>>>> nxp1043, which is an armv8 platform.
>>>> And just like you, no cross compilation.
>>>> So, I have 2 suggestions:
>>>> - try build first with PLATFORM=vpp_lite : with this, we can first check 
>>>> if everything but dpdk is building correctly.
>>>> FYI, I did not try to build the packages as I'm on a stripped Ubuntu 
>>>> rootfs on this platform
>>>> - Them switch to VPP, but using an already installed DPDK: within vpp.mk, 
>>>> you have the possibility to override the default values (ie external dpdk)
>>>> 
>>>> Christophe
>>>> 
>>>> > -----Original Message-----
>>>> > From: vpp-dev-boun...@lists.fd.io [mailto:vpp-dev-boun...@lists.fd.io] On
>>>> > Behalf Of Marco Varlese
>>>> > Sent: mercredi 4 janvier 2017 17:36
>>>> > To: Rami Rosen <roszenr...@gmail.com>; Burt Silverman
>>>> > <bur...@gmail.com>
>>>> > Cc: vpp-dev <vpp-dev@lists.fd.io>
>>>> > Subject: Re: [vpp-dev] Build VPP for thunderx platform
>>>> >
>>>> > Mine was a typo mistake
>>>> > My command has PLATFORM=thunder
>>>> >
>>>> > As mentioned previously, I'm on the actual platform so no need to use 
>>>> > cross -
>>>> > compiler...
>>>> >
>>>> >
>>>> > On Wed, 2017-01-04 at 17:15 +0200, Rami Rosen wrote:
>>>> > > Hi Marco,
>>>> > > Indeed it should be PLATFORM=thunder, according to my understanding.
>>>> > > Second, you also need to have the thunderx cross compiler installed on
>>>> > > your build machine (aarch64-thunderx-linux-gnu-gcc), so it seems to
>>>> > > me. It is a Cavium tool, part of their thunderx-tools, not sure where
>>>> > > it can be downloaded from.
>>>> > >
>>>> > >
>>>> > > Regards,
>>>> > > Rami Rosen
>>>> > >
>>>> > >
>>>> > > On 4 January 2017 at 16:04, Burt Silverman <bur...@gmail.com> wrote:
>>>> > > > Can't say for sure, but perhaps PLATFORM=thunder is the answer.
>>>> > > >
>>>> > > > On Wed, Jan 4, 2017 at 8:33 AM, Marco Varlese
>>>> > > > <marco.varl...@suse.com>
>>>> > > > wrote:
>>>> > > > >
>>>> > > > > Hi,
>>>> > > > >
>>>> > > > > I'm trying to build VPP for the ThunderX platform.
>>>> > > > > I've a platform in the lab so I've no need for cross-compiling, 
>>>> > > > > etc.
>>>> > > > >
>>>> > > > > However, if I run the default "make bootstrap && make build" the
>>>> > > > > vpp.mk file is used and eventually the makefile builds for
>>>> > > > > generic-native platform (resulting in a ton of include errors...)
>>>> > > > >
>>>> > > > > If I instead try to use the command "make PLATFORM=thunderx build"
>>>> > > > > then I get the "Unkown platform" error although I can see the file
>>>> > > > > thunder.mk in /build -data/platforms
>>>> > > > >
>>>> > > > > I can't find any documentation/guidelines to build specifially for
>>>> > > > > the Thunderx platform so I would be grateful if anybody could
>>>> > > > > point me to the right direction/documentation.
>>>> > > > >
>>>> > > > >
>>>> > > > > Thanks,
>>>> > > > > Marco
>>>> > > > > _______________________________________________
>>>> > > > > vpp-dev mailing list
>>>> > > > > vpp-dev@lists.fd.io
>>>> > > > > https://lists.fd.io/mailman/listinfo/vpp-dev
>>>> > > >
>>>> > > >
>>>> > > >
>>>> > > > _______________________________________________
>>>> > > > vpp-dev mailing list
>>>> > > > vpp-dev@lists.fd.io
>>>> > > > https://lists.fd.io/mailman/listinfo/vpp-dev
>>>> > >
>>>> > _______________________________________________
>>>> > vpp-dev mailing list
>>>> > vpp-dev@lists.fd.io
>>>> > https://lists.fd.io/mailman/listinfo/vpp-dev
>>>> This message, including attachments, is CONFIDENTIAL. It may also be 
>>>> privileged or otherwise protected by law. If you received this email by 
>>>> mistake, please let us know by reply and then delete it from your system; 
>>>> you should not copy it or disclose its contents to anyone. All messages 
>>>> sent to and from Enea may be monitored to ensure compliance with internal 
>>>> policies and to protect our business. Emails are not secure and cannot be 
>>>> guaranteed to be error free as they can be intercepted, amended, lost or 
>>>> destroyed, or contain viruses. The sender therefore does not accept 
>>>> liability for any errors or omissions in the contents of this message, 
>>>> which arise as a result of email transmission. Anyone who communicates 
>>>> with us by email accepts these risks.
>>>> 
>>> 
>> _______________________________________________
>> vpp-dev mailing list
>> vpp-dev@lists.fd.io
>> https://lists.fd.io/mailman/listinfo/vpp-dev

_______________________________________________
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Reply via email to