I think when I built it I used: cmake -DCMAKE_CXX_FLAGS="-mcpu=cortex-a7 -mfpu=neon-vfpv4 -mtune=cortex-a7 -funsafe-math-optimizations" ../ -Wno-dev
I also had to enable swap space because the bpi doesn't have enough memory for some of the compile stages: sudo dd if=/dev/zero of=/sata/swapfile bs=1024 count=1024k sudo mkswap /sata/swapfile sudo swapon /sata/swapfile free -m Thanks On Fri, Jan 9, 2015 at 5:16 PM, Arturo Rinaldi <[email protected]> wrote: > Instead of building on the board itself, wouldn't be better to compile the > source code on your working machine by exporting the toolchain compilers by > means of a simple script ? > > 2015-01-09 22:52 GMT+01:00 Andreas Ladanyi <[email protected]>: >> >> >>> On Fri, Jan 9, 2015 at 1:37 PM, Andreas Ladanyi <[email protected]> >>> wrote: >>>> >>>> I must correct a detail. The datasheet tells me that bananapi has a >>>> Cortex-A7. >>>> >>>> cat /proc/cpuinfo: >>>> >>>> Processor : ARMv7 Processor rev 4 (v7l) >>>> processor : 0 >>>> BogoMIPS : 1431.55 >>>> >>>> processor : 1 >>>> BogoMIPS : 1436.46 >>>> >>>> Features : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 >>>> idiva >>>> idivt >>>> CPU implementer : 0x41 >>>> CPU architecture: 7 >>>> CPU variant : 0x0 >>>> CPU part : 0xc07 >>>> CPU revision : 4 >>>> >>>> Hardware : sun7i >>>> Revision : 0000 >>>> Serial : 0481019f5254484880485783165166d2 >>>> >>>> >>>> Hi, >>>> >>>> iam trying to compile GNURadio with the build-gnuradio script. Iam >>>> running a >>>> BananaPi (armv7 / cortex-a9) with the last raspian image for the Pi. >>>> >>>> The building process showed me two error messages. One message was that >>>> cmake is below 2.8.10. So i compiled and installed the last cmake 3.1 >>>> from >>>> source. The message is gone. >>>> >>>> When gnuradio is building i get this message: >>>> >>>> Scanning dependencies of target volk >>>> [ 2%] Building ASM object >>>> >>>> volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32fc_32f_dot_prod_32fc_a_neonasmpipeline.s.o >>>> [ 2%] Building ASM object >>>> >>>> volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32fc_x2_dot_prod_32fc_neonasm.s.o >>>> [ 2%] Building ASM object >>>> >>>> volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32fc_x2_dot_prod_32fc_neonasm_opttests.s.o >>>> [ 2%] Building ASM object >>>> >>>> volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32fc_32f_dot_prod_32fc_a_neonasm.s.o >>>> [ 2%] Building ASM object >>>> >>>> volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32f_s32f_multiply_32f_neonasm.s.o >>>> [ 2%] Building ASM object >>>> >>>> volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32fc_32f_dot_prod_32fc_unrollasm.s.o >>>> [ 2%] Building ASM object >>>> >>>> volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_16i_max_star_horizontal_16i.s.o >>>> [ 2%] Building ASM object >>>> >>>> volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32f_x2_add_32f_a_neonasm.s.o >>>> [ 2%] Building ASM object >>>> >>>> volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32fc_32f_dot_prod_32fc_a_neonasmvmla.s.o >>>> [ 2%] Building ASM object >>>> >>>> volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32f_x2_add_32f_a_neonpipeline.s.o >>>> [ 3%] Building ASM object >>>> >>>> volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32f_x2_dot_prod_32f_neonasm_opts.s.o >>>> >>>> /home/bananapi/gnuradio/gnuradio/volk/kernels/volk/asm/neon/volk_32f_x2_dot_prod_32f_neonasm_opts.s: >>>> Assembler messages: >>>> >>>> /home/bananapi/gnuradio/gnuradio/volk/kernels/volk/asm/neon/volk_32f_x2_dot_prod_32f_neonasm_opts.s:46: >>>> Error: selected processor does not support ARM mode `sbfx r11,r1,#2,#1' >>>> volk/lib/CMakeFiles/volk.dir/build.make:1519: recipe for target >>>> >>>> 'volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32f_x2_dot_prod_32f_neonasm_opts.s.o' >>>> failed >>>> make[2]: *** >>>> >>>> [volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32f_x2_dot_prod_32f_neonasm_opts.s.o] >>>> Error 1 >>>> CMakeFiles/Makefile2:164: recipe for target >>>> 'volk/lib/CMakeFiles/volk.dir/all' failed >>>> make[1]: *** [volk/lib/CMakeFiles/volk.dir/all] Error 2 >>>> Makefile:147: recipe for target 'all' failed >>>> make: *** [all] Error 2 >>>> make failed >>>> >>>> >>>> I found the "native compiling" part at >>>> http://gnuradio.org/redmine/projects/gnuradio/wiki/Embedded and tried >>>> out: >>>> >>>> cmake [other options] -DCMAKE_C_FLAGS="-march=armv7-a -mthumb-interwork >>>> -mfloat-abi=hard -mfpu=neon -mtune=cortex-a9" >>>> -DCMAKE_ASM_FLAGS="-march=armv7-a -mthumb-interwork -mfloat-abi=hard >>>> -mfpu=neon" <source dir> >>>> >>>> >>>> The result is: >>>> >>>> [ 1%] Building ASM object >>>> >>>> volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32f_x2_dot_prod_32f_neonasm_opts.s.o >>>> >>>> /home/bananapi/gnuradio/gnuradio/volk/kernels/volk/asm/neon/volk_32f_x2_dot_prod_32f_neonasm_opts.s: >>>> Assembler messages: >>>> >>>> /home/bananapi/gnuradio/gnuradio/volk/kernels/volk/asm/neon/volk_32f_x2_dot_prod_32f_neonasm_opts.s:46: >>>> Error: selected processor does not support ARM mode `sbfx r11,r1,#2,#1' >>>> volk/lib/CMakeFiles/volk.dir/build.make:1519: recipe for target >>>> >>>> 'volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32f_x2_dot_prod_32f_neonasm_opts.s.o' >>>> failed >>>> make[2]: *** >>>> >>>> [volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32f_x2_dot_prod_32f_neonasm_opts.s.o] >>>> Error 1 >>>> CMakeFiles/Makefile2:164: recipe for target >>>> 'volk/lib/CMakeFiles/volk.dir/all' failed >>>> make[1]: *** [volk/lib/CMakeFiles/volk.dir/all] Error 2 >>>> Makefile:147: recipe for target 'all' failed >>>> make: *** [all] Error 2 >>>> >>>> >>>> >>>> Any ideas ? >>>> >>>> cheers, >>>> Andreas >>>> >>> I don't know that it's a definite fix for this, but I was going to >>> suggest making sure the tune settings fit your processor. If that's >>> not the case we can look around for a suitable change. Keep us >>> updated. >>> >>> Nathan >> >> >> Hi Nathan, >> >> cmake ../ -DCMAKE_C_FLAGS="-march=armv7 -mthumb-interwork -mfloat-abi=hard >> -mfpu=neon -mtune=cortex-a7" -DCMAKE_ASM_FLAGS="-march=armv7 >> -mthumb-interwork -mfloat-abi=hard -mfpu=neon >> >> results in the message: >> >> Scanning dependencies of target volk >> [ 2%] Building ASM object >> volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32fc_32f_dot_prod_32fc_a_neonasmpipeline.s.o >> [ 2%] Building ASM object >> volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32fc_x2_dot_prod_32fc_neonasm.s.o >> [ 2%] Building ASM object >> volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32fc_x2_dot_prod_32fc_neonasm_opttests.s.o >> [ 2%] Building ASM object >> volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32fc_32f_dot_prod_32fc_a_neonasm.s.o >> [ 2%] Building ASM object >> volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32f_s32f_multiply_32f_neonasm.s.o >> [ 2%] Building ASM object >> volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32fc_32f_dot_prod_32fc_unrollasm.s.o >> [ 2%] Building ASM object >> volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_16i_max_star_horizontal_16i.s.o >> [ 2%] Building ASM object >> volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32f_x2_add_32f_a_neonasm.s.o >> [ 2%] Building ASM object >> volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32fc_32f_dot_prod_32fc_a_neonasmvmla.s.o >> [ 2%] Building ASM object >> volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32f_x2_add_32f_a_neonpipeline.s.o >> [ 3%] Building ASM object >> volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32f_x2_dot_prod_32f_neonasm_opts.s.o >> >> /home/bananapi/gnuradio_src/gnuradio/volk/kernels/volk/asm/neon/volk_32f_x2_dot_prod_32f_neonasm_opts.s: >> Assembler messages: >> >> /home/bananapi/gnuradio_src/gnuradio/volk/kernels/volk/asm/neon/volk_32f_x2_dot_prod_32f_neonasm_opts.s:46: >> Error: selected processor does not support ARM mode `sbfx r11,r1,#2,#1' >> volk/lib/CMakeFiles/volk.dir/build.make:1519: recipe for target >> 'volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32f_x2_dot_prod_32f_neonasm_opts.s.o' >> failed >> make[2]: *** >> [volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32f_x2_dot_prod_32f_neonasm_opts.s.o] >> Error 1 >> CMakeFiles/Makefile2:164: recipe for target >> 'volk/lib/CMakeFiles/volk.dir/all' failed >> make[1]: *** [volk/lib/CMakeFiles/volk.dir/all] Error 2 >> Makefile:147: recipe for target 'all' failed >> make: *** [all] Error 2 >> >> Is it possible that ARM isnt supported in volk ? >> >> Error: selected processor does not support ARM mode `sbfx r11,r1,#2,#1' >> >> >> Andreas >> >> >> >> _______________________________________________ >> Discuss-gnuradio mailing list >> [email protected] >> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio > > > > _______________________________________________ > Discuss-gnuradio mailing list > [email protected] > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio > _______________________________________________ Discuss-gnuradio mailing list [email protected] https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
