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