[dpdk-dev] Issue->Dpdk for arm cortex-a15 compilation

Jan Viktorin viktorin at rehivetech.com
Tue May 16 16:00:57 CEST 2017


On Tue, 16 May 2017 18:57:41 +0530
Jimmy Carter <jimmycarter256 at gmail.com> wrote:

> I assume after git clone https://github.com/RehiveTech/buildroot
>  I need to git checkout dpdk-support-v5

Yes, I forgot to mention...

> I get legacy error on running make
> root at xav101000739:~/Downloads/dpdk/newbuildroot/buildroot# *make *
> *Makefile.legacy:12: *** "You have legacy configuration in your .config!
> Please check your configuration.".  Stop.*

This is very strange. Did you use qemu_arm_vexpress_defconfig or some
other?

I didn't have any issue during the build except of a mismatch in the
SHA256 checksum of the dpdk-16.04.tar.gz which is strange. After
fixing:

diff --git a/package/dpdk/dpdk.hash b/package/dpdk/dpdk.hash
index 3780c665b..c0158e477 100644
--- a/package/dpdk/dpdk.hash
+++ b/package/dpdk/dpdk.hash
@@ -1,2 +1,2 @@
 # Locally calculated
-sha256 d631495bc6e8d4c4aec72999ac03c3ce213bb996cb88f3bf14bb980dad1d3f7b  dpdk-16.04.tar.gz
+sha256 f917875b1432adaaebb2761c154623bb101e0308153aa011f06a69bd1e9e98fb  dpdk-16.04.tar.gz

it works.

$ ls output/images/
rootfs.ext2  vexpress-v2p-ca9.dtb  zImage

Regards
Jan

> 
> 
> Thanks
> 
> On Tue, May 16, 2017 at 5:58 PM, Jan Viktorin <viktorin at rehivetech.com>
> wrote:
> 
> > On Tue, 16 May 2017 17:25:20 +0530
> > Jimmy Carter <jimmycarter256 at gmail.com> wrote:
> >  
> > > Hi All
> > >
> > > Attached is the complete env variables file
> > > I have added RTE_KERNELDIR too
> > > Also I am  now using gnu-eabi version 5.4.0
> > > [arm-openwrt-linux-muslgnueabi-gcc (LEDE GCC 5.4.0 r3909-6411a12) 5.4.0]
> > > But I am still getting the same error
> > >
> > > Currently I am not using buildroot
> > > Is there any step by step available guide for cross compiling dpdk using
> > > buildroot for target arm cortex-a15 using some external toolchain.
> > > I found this http://dpdk.org/ml/archives/announce/2015-October/000066.  
> > html
> >
> > This short tutorial points to some older version of the Buildroot
> > support. That was before the ARM support has been merged into DPDK.
> >
> > I've just pushed the branch dpdk-support-v5 (d25ddaadf2) into
> > the RehiveTech repository. It contains the latest patch sent to the
> > Buildroot mailing list [1] and some more. By the way, it cleanly
> > applies to the latest Buildroot master as well.
> >
> > This branch assumes DPDK 16.04 which is quite old but if you drop the
> > 0001-mk-do-not-enforce-any-specific-ARM-ABI.patch, it might work for newer
> > DPDK as well.
> >
> > Steps:
> >
> > $ git clone https://github.com/RehiveTech/buildroot
> > $ cd buildroot
> > $ make qemu_arm_vexpress_defconfig
> > $ make menuconfig
> >
> >  * set libc library to glibc
> >  * enable DPDK in Target packages/Libraries/Networking/DPDK
> >
> > $ make linux-menuconfig
> >
> >  * enable UIO, PCI and MSI-X (if applicable)
> >
> > $ make
> >
> > I didn't test it myself recently but I belive that it should work well.
> > Instead of qemu_arm_vexpress_defconfig, you should select your target
> > board, if applicable.
> >
> > I hope, it would help you.
> >
> > Regards
> > Jan
> >
> > [1] https://patchwork.ozlabs.org/patch/611383/
> >  
> > >
> > >
> > > Please advise
> > >
> > >
> > >
> > > Thanks
> > >
> > > On Tue, May 16, 2017 at 5:14 PM, Neil Horman <nhorman at tuxdriver.com>  
> > wrote:  
> > >  
> > > > On Tue, May 16, 2017 at 12:51:40PM +0200, Jan Viktorin wrote:  
> > > > > Hello Jimmy,
> > > > >
> > > > > On Tue, 16 May 2017 15:38:22 +0530
> > > > > Jimmy Carter <jimmycarter256 at gmail.com> wrote:
> > > > >  
> > > > > > Hi All
> > > > > >
> > > > > > I am using dpdk16.11.1 and want to use openwrt external toolchain  
> > so  
> > > > that I  
> > > > > > can cross compile for arm cortex 15
> > > > > > neon.(arm_cortex-a15+neon-vfpv4_gcc-5.4.0_musl_eabi)  
> > > > >
> > > > > I've never built DPDK with musl-eabi. I don't think that your issue  
> > is  
> > > > > related but just note that my builds have always been done with  
> > gnueabi.  
> > > > >  
> > > > > > My target board is Tp link archer C2600.
> > > > > > I am have assigned these env variables but still getting  
> > compilation  
> > > > error  
> > > > > >
> > > > > > export
> > > > > > STAGING_DIR=/home/xav-101000739/ovslede/source/  
> > > > staging_dir/toolchain-arm_cortex-a15+neon-vfpv4_gcc-5.4.0_musl_eabi  
> > > > > > export
> > > > > > PATH=$PATH:/home/xav-101000739/ovslede/source/  
> > > > staging_dir/toolchain-arm_cortex-a15+neon-vfpv4_gcc-5.4.  
> > 0_musl_eabi/bin  
> > > > > >
> > > > > >
> > > > > > export CROSS=arm-openwrt-linux-
> > > > > > export DPDK_TARGET=arm-armv7a-linuxapp-gcc
> > > > > > export DPDK_DIR=$PWD
> > > > > > export DPDK_BUILD=$DPDK_DIR/$DPDK_TARGET
> > > > > > export
> > > > > > CFLAGS+=-I/home/xav-101000739/ovslede/source/staging_dir/  
> > > > toolchain-arm_cortex-a15+neon-vfpv4_gcc-5.4.0_musl_eabi  
> > > > > > export RTE_SDK=$PWD
> > > > > > export RTE_TARGET=arm-armv7a-linuxapp-gcc
> > > > > > export DPDK_BUILD_DIR=arm-armv7a-linuxapp-gcc
> > > > > >  
> > > > >
> > > > > There is a patch to Buildroot that can help you with the setup. See:
> > > > >
> > > > >  https://patchwork.ozlabs.org/patch/611383/
> > > > >  
> > > > > >
> > > > > > Error:Attached file  
> > > > >
> > > > > Your build fails on
> > > > >
> > > > > eal_memory.c:92:
> > > > > /home/xav-101000739/Downloads/dpdk/dpdk-stable-16.11.1/  
> > > > build/include/rte_lcore.h:56:10: error: unknown type name 'cpu_set_t'  
> > > > >   typedef cpu_set_t rte_cpuset_t;
> > > > >
> > > > > This looks like there is some issue with Linux Kernel headers.
> > > > >
> > > > > lib/librte_eal/common/include/rte_lcore.h:
> > > > >
> > > > >  53 #if defined(__linux__)
> > > > >  54         typedef cpu_set_t rte_cpuset_t;
> > > > >  55 #elif defined(__FreeBSD__)
> > > > >  56 #include <pthread_np.h>
> > > > >  57         typedef cpuset_t rte_cpuset_t;
> > > > >  58 #endif
> > > > >
> > > > > Probably, you should set the RTE_KERNELDIR properly.
> > > > >  
> > > > I don't think so.  cpu_set_t is most recently defined in
> > > > /usr/include/bits/shced.h, which is a glibc header.  What version of  
> > glibc  
> > > > are
> > > > you building with?
> > > >
> > > > Neil
> > > >  
> > > > > >
> > > > > > Please advise
> > > > > > Does dpdk have support for openwrt (arm cortex a15)  
> > > > >
> > > > > DPDK does not support OpenWRT because (as far as I know) nobody from
> > > > > the DPDK community is using it in this way. I build DPDK via  
> > Buildroot  
> > > > > but this is unsupported by the DPDK upstream.
> > > > >
> > > > > I could build DPDK for Cortex-A7, Cortex-A9 and Cortex-A15 in the  
> > past.  
> > > > >
> > > > > I run regular builds of the master branch and I can see no breakage
> > > > > for the arm-armv7a-linuxapp-gcc configuration.
> > > > >
> > > > > Regards
> > > > > Jan
> > > > >  
> > > > > >
> > > > > > Thanks
> > > > > > Akshay  
> > > > >  
> > > >  
> >
> >
> >
> > --
> >    Jan Viktorin                  E-mail: Viktorin at RehiveTech.com
> >    System Architect              Web:    www.RehiveTech.com
> >    RehiveTech
> >    Brno, Czech Republic
> >  



-- 
   Jan Viktorin                  E-mail: Viktorin at RehiveTech.com
   System Architect              Web:    www.RehiveTech.com
   RehiveTech
   Brno, Czech Republic


More information about the dev mailing list