OpenWRT の「Attitude Adjustment」(最新のトランク ソース) に Gnu Radio をインストールしようとしています。GR をクロスコンパイルしたところ、すべてが正常にコンパイルおよびリンクされたようです。ただし、Python でモジュールをインポートすると、次のようになります。
root@OpenWrt:/usr/lib/python2.7/dist-packages/gnuradio/gr# python
Python 2.7.3 (default, Jul 21 2012, 17:36:54)
[GCC 4.6.3 20120201 (prerelease)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from gnuradio import gr
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/gnuradio/gr/__init__.py", line 43, in <module>
from gnuradio_core import *
File "/usr/lib/python2.7/dist-packages/gnuradio/gr/gnuradio_core.py", line 23, in <module>
from gnuradio_core_runtime import *
File "/usr/lib/python2.7/dist-packages/gnuradio/gr/gnuradio_core_runtime.py", line 26, in <module>
_gnuradio_core_runtime = swig_import_helper()
File "/usr/lib/python2.7/dist-packages/gnuradio/gr/gnuradio_core_runtime.py", line 22, in swig_import_helper
_mod = imp.load_module('_gnuradio_core_runtime', fp, pathname, description)
ImportError: File not found
>>>
SWIG ライブラリを含むディレクトリで Python が起動されていることに注意してください。は、ターゲットシステムldd _gnuradio_core_runtime.so
で実行されています。
checking sub-depends for '/usr/lib/libgnuradio-core-3.6.2git.so.0.0.0'
checking sub-depends for '/usr/lib/libgruel-3.6.2git.so.0.0.0'
checking sub-depends for '/usr/lib/libboost_date_time.so.1.49.0'
checking sub-depends for '/usr/lib/libboost_program_options.so.1.49.0'
checking sub-depends for '/usr/lib/libboost_filesystem.so.1.49.0'
checking sub-depends for '/usr/lib/libboost_system.so.1.49.0'
checking sub-depends for '/usr/lib/libboost_thread.so.1.49.0'
checking sub-depends for '/lib/libpthread.so.0'
checking sub-depends for '/usr/lib/libstdc++.so.6'
checking sub-depends for '/lib/libm.so.0'
checking sub-depends for '/lib/libgcc_s.so.1'
checking sub-depends for '/lib/libc.so.0'
checking sub-depends for '/usr/lib/libfftw3f.so.3'
checking sub-depends for 'not found'
checking sub-depends for '/lib/librt.so.0'
checking sub-depends for '/usr/lib/libvolk.so.0.0.0'
checking sub-depends for '/lib/libdl.so.0'
libgnuradio-core-3.6.2git.so.0.0.0 => /usr/lib/libgnuradio-core-3.6.2git.so.0.0.0 (0x00000000)
libgruel-3.6.2git.so.0.0.0 => /usr/lib/libgruel-3.6.2git.so.0.0.0 (0x00000000)
libboost_date_time.so.1.49.0 => /usr/lib/libboost_date_time.so.1.49.0 (0x00000000)
libboost_program_options.so.1.49.0 => /usr/lib/libboost_program_options.so.1.49.0 (0x00000000)
libboost_filesystem.so.1.49.0 => /usr/lib/libboost_filesystem.so.1.49.0 (0x00000000)
libboost_system.so.1.49.0 => /usr/lib/libboost_system.so.1.49.0 (0x00000000)
libboost_thread.so.1.49.0 => /usr/lib/libboost_thread.so.1.49.0 (0x00000000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00000000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00000000)
libm.so.0 => /lib/libm.so.0 (0x00000000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00000000)
libc.so.0 => /lib/libc.so.0 (0x00000000)
libfftw3f.so.3 => /usr/lib/libfftw3f.so.3 (0x00000000)
libfftw3f_threads.so.3 => not found (0x00000000)
librt.so.0 => /lib/librt.so.0 (0x00000000)
libvolk.so.0.0.0 => /usr/lib/libvolk.so.0.0.0 (0x00000000)
libdl.so.0 => /lib/libdl.so.0 (0x00000000)
ld-uClibc.so.0 => ld-uClibc.so.0 (0x00000000)
ビルドシステムfile _gnuradio_core_runtime.so
での出力は次のとおりです。
_gnuradio_core_runtime.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, not stripped
ターゲット システムは Intel Atom で実行されます。最後に、私が考えることができる最後の有用な情報は、PYTHONPATH
に設定されていること/usr/lib/python2.7/dist-packages
です。何が問題なのか途方に暮れています。素晴らしいスタック オーバーフロー コミュニティが解決策を見つけるのに役立つことを願っています。ご指摘ありがとうございます。