From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from wes1-so2.wedos.net (wes1-so2.wedos.net [46.28.106.16]) by dpdk.org (Postfix) with ESMTP id 80844292D; Tue, 16 May 2017 14:29:16 +0200 (CEST) Received: from pcviktorin.fit.vutbr.cz (dhcpz185.fit.vutbr.cz [147.229.14.185]) by wes1-so2.wedos.net (Postfix) with ESMTPSA id 3wRxZz5t7qzhm; Tue, 16 May 2017 14:29:15 +0200 (CEST) Date: Tue, 16 May 2017 14:28:08 +0200 From: Jan Viktorin To: Jimmy Carter Cc: Neil Horman , users@dpdk.org, dev@dpdk.org, maintainers@dpdk.org, jianbo.liu@linaro.org, kosar@rehivetech.com Message-ID: <20170516142808.4abedf71.viktorin@rehivetech.com> In-Reply-To: References: <20170516125140.21f0020d.viktorin@rehivetech.com> <20170516114458.GA18139@hmswarspite.think-freely.org> Organization: RehiveTech MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-users] [dpdk-dev] Issue->Dpdk for arm cortex-a15 compilation X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 May 2017 12:29:16 -0000 On Tue, 16 May 2017 17:25:20 +0530 Jimmy Carter 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 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 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 > > > 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@RehiveTech.com System Architect Web: www.RehiveTech.com RehiveTech Brno, Czech Republic