Bitbaking GnuRadio with meta-sdr master issues

Hello,

I have built the gnuradio-dev-image for an arm machine and I wanted to
share a couple of small issues that I found in the process.

  • The meta-sdr/conf/bblayers.conf.sample doesn’t include all the layers
    needed. This is correctly warned in the README file of the layer. I’ve
    attached the file that worked for me in case someone finds it useful.

  • A couple of the layers include recipe.bbappend files for recipes that
    have been updated recently. I solved this ignoring them with BBMASK as
    you
    can see in the bblayers.conf file.

  • valgrind recipe failed. This seem to be a problem with the Yocto
    master
    branch so I deleted it from the recipes and I built without it.

  • volk failed to compile for qemuarm machine. I couldn’t work around
    this
    one. I’ve attached the log file. Some of the recipes, including
    gnuradio_git depend on it so I don’t think I’ll be able to ignore it.

The only real issue is the last one. It would be great to be able to
compile for qemuarm. Could anyone give me a pointer to fix this? My
machine
runs Ubuntu 12.04 32 bit and the master branch for all the BSPs.

Thanks,
Murray

On 04/19/2015 11:07 AM, Murray T. wrote:

Hello,

I have built the gnuradio-dev-image for an arm machine and I wanted to
share a couple of small issues that I found in the process.

  • The meta-sdr/conf/bblayers.conf.sample doesn’t include all the layers
    needed. This is correctly warned in the README file of the layer. I’ve
    attached the file that worked for me in case someone finds it useful.

I’ll double check this.

  • A couple of the layers include recipe.bbappend files for recipes that
    have been updated recently. I solved this ignoring them with BBMASK as you
    can see in the bblayers.conf file.

  • valgrind recipe failed. This seem to be a problem with the Yocto master
    branch so I deleted it from the recipes and I built without it.

Master will be a bit messy for a while. Right now a lot of post release
updates are going in, so I expect things to be unstable for a bit.

  • volk failed to compile for qemuarm machine. I couldn’t work around this
    one. I’ve attached the log file. Some of the recipes, including
    gnuradio_git depend on it so I don’t think I’ll be able to ignore it.

Looks like that is a machine without neon support. I suspect volk needs
to be a little more careful working out if neon is available.

Thanks for your answer Philip. I think you are right, qemuarm doesn’t
seem
to have neon support yet.
It would be great if someone that knows Volk could confirm if it’s meant
to
be able to compile in machines with no neon support.

Regards,
Murray

That’s very helpful Nathan, thank you. I will have a look when I find
some
time and I’ll report any findings.

Cheers,
Murray

It definitely can compile on machines with no neon support, but this
problem is more subtle than that. qemuarm is probably one of the few
targets that claims to be a cortex-a9 and not have NEON. As Phil said,
we
need to improve NEON detection when adding asm kernels to support this
case. If you’d like to help I can point you in the right direction.

The problem likely occurs in lib/CMakeLists.txt in the block at line
400.
We previously made an assumption that armv7 has NEON, which (I think) is
true most of the time (qemuarm being the first exception I’ve seen). I
don’t know off the top of my head how to fix this, but if you want to
look
around that’s the starting place.

Cheers,
-Nathan

On Sun, Apr 19, 2015 at 6:10 PM, Murray T.
[email protected]

On 20 April 2015 at 15:13, Philip B. [email protected] wrote:

attached the file that worked for me in case someone finds it useful.

You layer.conf file has loads of layers the dev image shouldn’t need? Do
you know exactly which ones are missing? I’m setting the default for
meta-sdr so you can build demo image out of the box. The demo + video
layer recipe lists some additional layers you will need.

I didn’t realize that the dependencies that I had missing were necessary
for my target machine, but not required for meta-sdr, sorry. I’ve
checked
the dependencies with “bitbake -g gnuradio-demo-image” and the ones in
bblayers.conf.sample are correct. The only thing I would suggest is to
replace meta-oe for meta-openembedded as recommended in their github
https://github.com/openembedded.

On 04/19/2015 11:07 AM, Murray T. wrote:

Hello,

I have built the gnuradio-dev-image for an arm machine and I wanted to
share a couple of small issues that I found in the process.

  • The meta-sdr/conf/bblayers.conf.sample doesn’t include all the layers
    needed. This is correctly warned in the README file of the layer. I’ve
    attached the file that worked for me in case someone finds it useful.

You layer.conf file has loads of layers the dev image shouldn’t need? Do
you know exactly which ones are missing? I’m setting the default for
meta-sdr so you can build demo image out of the box. The demo + video
layer recipe lists some additional layers you will need.

Philip

On 04/21/2015 09:43 AM, Murray T. wrote:

  • The meta-sdr/conf/bblayers.conf.sample doesn’t include all the layers
    for my target machine, but not required for meta-sdr, sorry. I’ve checked
    the dependencies with “bitbake -g gnuradio-demo-image” and the ones in
    bblayers.conf.sample are correct. The only thing I would suggest is to
    replace meta-oe for meta-openembedded as recommended in their github
    https://github.com/openembedded.

Thanks for checking the default is OK.

This should prevent trouble when the short named repos go away:

I left the directories they get checked out into the same for now. I
suppose I’ll change the names at some point, maybe when I do the fido
branch.

Philip

Philip