gnuradio: gnuradio-python: add missing runtime dependency to python-numpy
PATCH v4 1/1 gnuradio: gnuradio-python: add missing runtime dependency to python-numpy
From: Gwenhael Goavec-Merou <[email protected]>
Some gnuradio python blocks needs python-numpy present.
Without python-numpy, gnuradio-python based apps fails, on runtime, with traceback like:
Traceback (most recent call last):
File "./top_block.py", line 18, in <module>
from gnuradio import analog
File "/usr/lib/python2.7/site-packages/gnuradio/analog/__init__.py", line 35, in <module>
from am_demod import *
File "/usr/lib/python2.7/site-packages/gnuradio/analog/am_demod.py", line 22, in <module>
from gnuradio import gr
File "/usr/lib/python2.7/site-packages/gnuradio/gr/__init__.py", line 44, in <module>
from top_block import *
File "/usr/lib/python2.7/site-packages/gnuradio/gr/top_block.py", line 30, in <module>
from hier_block2 import hier_block2
File "/usr/lib/python2.7/site-packages/gnuradio/gr/hier_block2.py", line 26, in <module>
import pmt
File "/usr/lib/python2.7/site-packages/pmt/__init__.py", line 58, in <module>
from pmt_to_python import pmt_to_python as to_python
File "/usr/lib/python2.7/site-packages/pmt/pmt_to_python.py", line 22, in <module>
import numpy
ImportError: No module named numpy
---
Changes v3 -> v4:
* add #runtime comment to BR2_PACKAGE_PYTHON_NUMPY select;
* suppress python-numpy in GNURADIO_DEPENDENCIES variable (not needed for buildtime)
Changes v2 -> v3:
* Since commit 826a2bc18bc0be0b08f2926c9fa1819fe909557c no special attentions is needed to select python-numpy. So BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS is no more needed
Changes v1 -> v2:
* Add dependy to BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS;
* gnuradio-python select numpy;
* gnuradio-utils select again gnuradio-python;
* fix commit message
--- package/gnuradio/Config.in | 1 + 1 file changed, 1 insertion(+)
package/gnuradio/Config.in +1 -0
@@ -47,6 +47,7 @@ config BR2_PACKAGE_GNURADIO_PYTHON bool "python support" select BR2_PACKAGE_BOOST_PYTHON select BR2_PACKAGE_PYTHON + select BR2_PACKAGE_PYTHON_NUMPY #runtime help Enable python component
Signature · 1 line
2.4.9
PATCH v4 1/1 gnuradio: gnuradio-python: add missing runtime dependency to python-numpy
Dear Gwenhael Goavec-Merou,
package/gnuradio/Config.in config BR2_PACKAGE_GNURADIO_PYTHON · line 50
Quoted 9 lines · Gwenhael Goavec-Merou
package/gnuradio/Config.in +1
-0@@ -47,6 +47,7 @@ config BR2_PACKAGE_GNURADIO_PYTHON bool "python support" select BR2_PACKAGE_BOOST_PYTHON select BR2_PACKAGE_PYTHON + select BR2_PACKAGE_PYTHON_NUMPY #runtime
When you "select" an option, you must replicate the "depends on" of that option into the selecting option. In this case, python-numpy has the following depends on:
# Numpy has some CPU specific code
depends on BR2_aarch64 || BR2_arm || BR2_armeb || BR2_i386 \
|| BR2_mips || BR2_mipsel || BR2_powerpc || BR2_powerpc64 \
|| BR2_sh || BR2_x86_64So you should replicate that into gnuradio/Config.in. However, since this is horrible, here is what we do in such cases:
* Introduce a hidden BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS that encodes this dependency.
* And then use this option in python-numpy/Config.in and gnuradio/Config.in.
You can grep for ARCH_SUPPORTS in Buildroot to see other examples.
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com