2016-09-08 6 views
2

gnuradio用に独自のブロックをインストールしようとしています。私はこの(http://gnuradio.org/redmine/projects/gnuradio/wiki/Guided_Tutorial_GNU_Radio_in_C++)チュートリアルを通過します。しかし、ステップ5の「インストール」では、いくつかの問題が発生します。自分のブロックをインストールした後にGnuradioがクラッシュする

私はそれをインストールしましたが、gnuradio-companionのブロックは表示されませんでした。

輸出PYTHONPATH =は/ usr/local/lib/python2.7 /のsite-packages/

輸出GRC_BLOCKS_PATH =は/ usr/local/share/gnuradio/GRC /ブロック/

: は、私はパスを追加しました

私はブロックを見ることができます:しかし、私はそれを使用したい場合、gnuradio - コンパニオンクラッシュ。

^[[A^[[BFatal Python error: PyThreadState_Get: no current thread 
Abort trap: 6 

Gnuradioバージョン:3.7.10.1

OS:OS Xエルキャピタン

問題がある可能性がありますか?間違った/欠落しているパス?プログラムの間違い?

/EDIT2:ブロックを追加するには、Pythonで書かは(チュートリアルで:http://gnuradio.org/redmine/projects/gnuradio/wiki/Guided_Tutorial_GNU_Radio_in_Python)正常に動作します

/編集:

-- Build type not specified: defaulting to release. 
-- Boost version: 1.59.0 
-- Found the following Boost libraries: 
-- filesystem 
-- system 
Checking for GNU Radio Module: RUNTIME 
* INCLUDES=/opt/local/include 
* LIBS=/opt/local/lib/libgnuradio-runtime.dylib;/opt/local/lib/libgnuradio-pmt.dylib 
GNURADIO_RUNTIME_FOUND = TRUE 
CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property): 
    Policy CMP0026 is not set: Disallow use of the LOCATION target property. 
    Run "cmake --help-policy CMP0026" for policy details. Use the cmake_policy 
    command to set the policy and suppress this warning. 

    The LOCATION property should not be read from target "test-tutorialCPP". 
    Use the target name directly with add_custom_command, or use the generator 
    expression $<TARGET_FILE>, as appropriate. 

Call Stack (most recent call first): 
    lib/CMakeLists.txt:77 (GR_ADD_TEST) 
This warning is for project developers. Use -Wno-dev to suppress it. 

-- Using install prefix: /usr/local 
-- Building for version: v1.0-compat-xxx-xunknown/1.0.0git 
-- 
-- Checking for module SWIG 
-- Found SWIG version 3.0.10. 
CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property): 
    Policy CMP0026 is not set: Disallow use of the LOCATION target property. 
    Run "cmake --help-policy CMP0026" for policy details. Use the cmake_policy 
    command to set the policy and suppress this warning. 

    The LOCATION property should not be read from target 
    "gnuradio-tutorialCPP". Use the target name directly with 
    add_custom_command, or use the generator expression $<TARGET_FILE>, as 
    appropriate. 

Call Stack (most recent call first): 
    python/CMakeLists.txt:44 (GR_ADD_TEST) 
This warning is for project developers. Use -Wno-dev to suppress it. 

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property): 
    Policy CMP0045 is not set: Error on non-existent target in 
    get_target_property. Run "cmake --help-policy CMP0045" for policy details. 
    Use the cmake_policy command to set the policy and suppress this warning. 

    get_target_property() called with non-existent target 
    "/opt/local/bin/python2.7". 
Call Stack (most recent call first): 
    python/CMakeLists.txt:44 (GR_ADD_TEST) 
This warning is for project developers. Use -Wno-dev to suppress it. 

CMake Warning (dev) at cmake/Modules/GrTest.cmake:45 (get_target_property): 
    Policy CMP0045 is not set: Error on non-existent target in 
    get_target_property. Run "cmake --help-policy CMP0045" for policy details. 
    Use the cmake_policy command to set the policy and suppress this warning. 

    get_target_property() called with non-existent target 
    "/Users/abc/dev/gnuradio/modul/gr-tutorialCPP/python/qa_my_qpsk_demod_cb.py". 
Call Stack (most recent call first): 
    python/CMakeLists.txt:44 (GR_ADD_TEST) 
This warning is for project developers. Use -Wno-dev to suppress it. 

-- Configuring done 
-- Generating done 
-- Build files have been written to: /Users/abc/dev/gnuradio/modul/gr-tutorialCPP/build 
:私はそれをインストールすると、私はcmakeのを使用する場合、私は多くの警告を取得
+0

一般的なコンピューティングハードウェアとソフトウェアに関する質問は、主にプログラミングに使用されるツールを直接使用しない限り、スタックオーバーフローに関するトピックではありません。あなたは[Super User](http://superuser.com/)のヘルプを得ることができるかもしれません。 –

答えて

1

これは、GNU Radioとあなたのモジュールが異なるPythonライブラリとリンクしている場合に発生します。

OSXでは、通常、システムインストールがあり、もう1つはHomebrewまたはMacPortsです。すべてをHomebrew/MacPortsライブラリとリンクしてみてください。

/opt/localにPythonインストールがあるようです。 cmakeを使用してモジュールを再構成し、PYTHON_LIBRARYPYTHON_INCLUDE_DIRが/ optにインストールされていることを示します。

+0

あなたの答えをありがとう!私はこれをCMakeCache.txtで見つけました: //プログラムへのパス。 PYTHON_EXECUTABLE:FILEPATH =/opt/local/bin/python2.7 //ファイルへのパス。 PYTHON_INCLUDE_DIR:PATH =/usr/include/python2.7 //ライブラリへのパス。 PYTHON_LIBRARY:FILEPATH =/usr/lib/libpython2.7.dylib Soo、パスを変更する必要がありますか?しかし、私は、これを行う方法の手がかりはありません。 – knuut

+0

私はpythonで新しいブロックを書くときもcmakeと同じ警告を受け取りますが、うまくいきます。 – knuut

+1

問題は、異なるPythonライブラリを1つの実行可能ファイルにリンクすることです。それはもちろんPython専用ブロックでは発生しないC++の問題です。 cmakeプロジェクトの再構成を容易にする複数のフロントエンドがあります。 – bastibl

関連する問題