Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
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
On Fri, Jan 9, 2015 at 1:37 PM, Andreas L.
[email protected] wrote:
BogoMIPS : 1436.46
Revision : 0000
source. The message is gone.
[ 2%] Building ASM object
volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32fc_32f_dot_prod_32fc_a_neonasmvmla.s.o
failed
[volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32f_x2_dot_prod_32f_neonasm_opts.s.o]
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
processor : 1
Hardware : sun7i
cmake is below 2.8.10. So i compiled and installed the last cmake 3.1 from
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_32f_x2_dot_prod_32f_neonasm_opts.s.o’
The result is:
make[2]: ***
Any ideas ?cheers,
AndreasI 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
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 L. [email protected]:
Am 09.01.2015 um 23:29 schrieb Tech:
sudo swapon /sata/swapfile
free -mThanks
I already have a swap partition with 2 GB.
I tried out your suggestion. The result is the same:
Scanning dependencies of target volk
[ 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_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
With the latest LUbuntu (instead of the latest raspian like in my last
mails) version of Banana Pi the following error results when compiling
gnuradio with the gnuradio build-script:
Linking CXX executable test_all
libvolk.so.0.0.0: undefined reference to
volk_32fc_x2_multiply_32fc_neonasm' libvolk.so.0.0.0: undefined reference to
volk_16i_max_star_horizontal_16i_neonasm’
libvolk.so.0.0.0: undefined reference to
volk_32fc_32f_dot_prod_32fc_a_neonasm' libvolk.so.0.0.0: undefined reference to
volk_32f_x2_dot_prod_32f_neonasm_opts’
libvolk.so.0.0.0: undefined reference to
volk_32fc_32f_dot_prod_32fc_a_neonpipeline' libvolk.so.0.0.0: undefined reference to
volk_32f_x2_dot_prod_32f_neonasm’
collect2: error: ld returned 1 exit status
make[2]: *** [volk/lib/test_all] Error 1
make[1]: *** [volk/lib/CMakeFiles/test_all.dir/all] Error 2
Linking CXX executable volk_profile
…/lib/libvolk.so.0.0.0: undefined reference to
volk_32fc_x2_multiply_32fc_neonasm' ../lib/libvolk.so.0.0.0: undefined reference to
volk_16i_max_star_horizontal_16i_neonasm’
…/lib/libvolk.so.0.0.0: undefined reference to
volk_32fc_32f_dot_prod_32fc_a_neonasm' ../lib/libvolk.so.0.0.0: undefined reference to
volk_32f_x2_dot_prod_32f_neonasm_opts’
…/lib/libvolk.so.0.0.0: undefined reference to
volk_32fc_32f_dot_prod_32fc_a_neonpipeline' ../lib/libvolk.so.0.0.0: undefined reference to
volk_32f_x2_dot_prod_32f_neonasm’
collect2: error: ld returned 1 exit status
make[2]: *** [volk/apps/volk_profile] Error 1
make[1]: *** [volk/apps/CMakeFiles/volk_profile.dir/all] Error 2
make: *** [all] Error 2
make failed
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 Sun, Jan 11, 2015 at 4:52 AM, Andreas L.
[email protected]
wrote:
a_neonasm’
…/lib/libvolk.so.0.0.0: undefined reference to
neonasm’
collect2: error: ld returned 1 exit status
make[2]: *** [volk/apps/volk_profile] Error 1
make[1]: *** [volk/apps/CMakeFiles/volk_profile.dir/all] Error 2
make: *** [all] Error 2
make failed
Yes. As has already been mentioned on this thread, on these devices, you
need to set some extra cmake flags. See our Embedded page and the
section
on Native Compiling.
http://gnuradio.org/redmine/projects/gnuradio/wiki/Embedded
Even with this information out there, I still don’t understand why
people
try and natively compile GNU Radio on these devices…
Tom
`volk_32fc_32f_dot_prod_32fc_a_neonasm' ../lib/libvolk.so.0.0.0: undefined reference to `volk_32f_x2_dot_prod_32f_neonasm'
section on Native Compiling.
http://gnuradio.org/redmine/projects/gnuradio/wiki/Embedded
Yes, i know this. But this doesnt work on the raspian OS on Banana. On
Lubuntu for Banana this works now with this extra cmake flags.Even with this information out there, I still don’t understand why
people try and natively compile GNU Radio on these devices…
Because to make the experience that native compiling on these devices is
terrible
In the future i will use cross compiling.
Tom
Andreas