Matthai
Posts: 11
Joined: Thu Jan 14, 2016 3:59 pm

How to compile Gnuradio 3.7.9

Thu Jan 14, 2016 4:06 pm

Hi,

in official Raspbian repositories is Gnuradio 3.7.5, but I would like to install 3.7.9 version, since current version has some VOLK bugs.

I tried to compile Gnuradio 3.7.9 on Raspberry Pi Model B, with updated Raspbian Jessie.

I download gnuradio source, do cmake. But when I do make, and got this error:

[ 2%] Building ASM object
volk/lib/CMakeFiles/volk_obj.dir/__/kernels/volk/asm/neon/volk_32f_x2_dot_prod_32f_neonasm_opts.s.o
/home/pi/gnuradio/gnuradio-3.7.9/volk/kernels/volk/asm/neon/volk_32f_x2_dot_prod_32f_neonasm_opts.s:
Assembler messages:
/home/pi/gnuradio/gnuradio-3.7.9/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_obj.dir/build.make:1479: recipe for target
'volk/lib/CMakeFiles/volk_obj.dir/__/kernels/volk/asm/neon/volk_32f_x2_dot_prod_32f_neonasm_opts.s.o'
failed
make[2]: ***
[volk/lib/CMakeFiles/volk_obj.dir/__/kernels/volk/asm/neon/volk_32f_x2_dot_prod_32f_neonasm_opts.s.o]
Error 1
CMakeFiles/Makefile2:233: recipe for target
'volk/lib/CMakeFiles/volk_obj.dir/all' failed
make[1]: *** [volk/lib/CMakeFiles/volk_obj.dir/all] Error 2
Makefile:147: recipe for target 'all' failed
make: *** [all] Error 2

Any idea?

(Or even better: any plans to support the lattest version via Raspbian repositories :-) )

Matthai
Posts: 11
Joined: Thu Jan 14, 2016 3:59 pm

Re: How to compile Gnuradio 3.7.9

Fri Jan 15, 2016 4:43 pm

Hi, I have found out tha tt appears the assembler on Raspbian does not recognize the "sbfx" instruction even though the ARM documentation says it is supported by the processor.

Any idea how to solve this?

jahboater
Posts: 4919
Joined: Wed Feb 04, 2015 6:38 pm

Re: How to compile Gnuradio 3.7.9

Sat Jan 16, 2016 9:24 am

sbfx is supported by "as" on the Pi2 (ARMv7)
Are you sure sbfx is available on the ARMv6 - it looks like its thumb2, or came in with thumb2?
Last edited by jahboater on Sat Jan 16, 2016 10:17 am, edited 1 time in total.
"We are in the beginning of a mass extinction, and all you can talk
about is money and fairy tales of eternal economic growth."
- Greta Thunberg

Matthai
Posts: 11
Joined: Thu Jan 14, 2016 3:59 pm

Re: How to compile Gnuradio 3.7.9

Sat Jan 16, 2016 9:46 am

I talked to someone on Gnuradio mailng list, which says it was not supported on RPi 2. However, what is the solution for RPi 1?

I mean, gnuradio 3.5.7 could be installed through apt-get, so it seems it was successfully compiled for RPi 1...

jahboater
Posts: 4919
Joined: Wed Feb 04, 2015 6:38 pm

Re: How to compile Gnuradio 3.7.9

Sat Jan 16, 2016 10:26 am

Have a look at http://svr-acjf3-armie.cl.cam.ac.uk/main.cgi
The insn is in a file
volk/kernels/volk/asm/neon/volk_32f_x2_dot_prod_32f_neonasm_opts.s
Neon is not supported on the Pi1.
There must be a build option somewhere to replace this optimization with portable code.
"We are in the beginning of a mass extinction, and all you can talk
about is money and fairy tales of eternal economic growth."
- Greta Thunberg

jahboater
Posts: 4919
Joined: Wed Feb 04, 2015 6:38 pm

Re: How to compile Gnuradio 3.7.9

Sat Jan 16, 2016 11:59 am

Gnuradio is supported on the Pi2.
Only version 3.7.5 though.
Should be fast though if its making good use of neon.
"We are in the beginning of a mass extinction, and all you can talk
about is money and fairy tales of eternal economic growth."
- Greta Thunberg

Matthai
Posts: 11
Joined: Thu Jan 14, 2016 3:59 pm

Re: How to compile Gnuradio 3.7.9

Sun Jan 17, 2016 6:02 pm

Gnuradio 3.7.5 is avaliable for RPi 1 via apt-get. I was able to install it and run gnuradio-companion.

So I assume I could be successfully compiled, at least 3.7.5. The problem is, 3.7.5 has some error in VOLK machine, that is the reason I would like to compile 3.7.9.

plugwash
Forum Moderator
Forum Moderator
Posts: 3497
Joined: Wed Dec 28, 2011 11:45 pm

Re: How to compile Gnuradio 3.7.9

Mon Jan 18, 2016 1:14 pm

We successfully built 3.7.9 in raspbian stretch from the Debian source package.

It looks like debian/raspbian are not using the internal version of volk from the gnuradio sources. Specifically I see the option

-DENABLE_INTERNAL_VOLK=OFF

in http://buildd.raspbian.org/status/fetch ... 1452800543

The seperate volk package seems to have been modified by us to disable neon.

http://debdiffs.raspbian.org/main/v/vol ... i1.debdiff

Matthai
Posts: 11
Joined: Thu Jan 14, 2016 3:59 pm

Re: How to compile Gnuradio 3.7.9

Mon Jan 18, 2016 9:55 pm

OK, so if I understand, gnuradio 3.7.9 is now working? Is deb package available in repositories?

I assume yes, since I can find them here: http://archive.raspbian.org/raspbian/po ... /gnuradio/ - this is it?

Sorry, right now I don't have any RPi online to check it...

Matthai
Posts: 11
Joined: Thu Jan 14, 2016 3:59 pm

Re: How to compile Gnuradio 3.7.9

Tue Jan 19, 2016 8:22 pm

After apt-get update I cannot find 3.7.9. packages... are they available through repositories?

Return to “Raspbian”