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

Jimmy Carter jimmycarter256 at gmail.com
Tue May 16 15:27:41 CEST 2017


I assume after git clone https://github.com/RehiveTech/buildroot
 I need to git checkout dpdk-support-v5
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.*


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
>


More information about the dev mailing list