Pybombs を用いてUbuntu 18.04マシンに GNU Radio 3.7.13.4をインストールする

2020/03/04 6:23 午後

Ubuntu 18.04マシン (VNAの左側のPC) への GNU Radioインストール手順の記録.この方法では,GitHubからGNU Radioのソースコードを取得してきてGNU Radioをビルドすることができる.

$ pip install pybombs
Collecting pybombs
Downloading https://files.pythonhosted.org/packages/55/12/ad00fdc2a6e6ebb60f2270d4be982e37dd4312eb950c92b0c30d7d444140/PyBOMBS-2.3.3-py2.py3-none-any.whl (145kB)
100% |████████████████████████████████| 153kB 4.1MB/s
Collecting six (from pybombs)
Downloading https://files.pythonhosted.org/packages/73/fb/00a976f728d0d1fecfe898238ce23f502a721c0ac0ecfedb80e0d88c64e9/six-1.12.0-py2.py3-none-any.whl
Collecting future (from pybombs)
Downloading https://files.pythonhosted.org/packages/90/52/e20466b85000a181e1e144fd8305caf2cf475e2f9674e797b222f8105f5f/future-0.17.1.tar.gz (829kB)
100% |████████████████████████████████| 829kB 1.3MB/s
Collecting requests (from pybombs)
Downloading https://files.pythonhosted.org/packages/51/bd/23c926cd341ea6b7dd0b2a00aba99ae0f828be89d72b2190f27c11d4b7fb/requests-2.22.0-py2.py3-none-any.whl (57kB)
100% |████████████████████████████████| 61kB 9.3MB/s
Collecting ruamel.yaml (from pybombs)
Downloading https://files.pythonhosted.org/packages/01/7b/4fe18fee2e6936c6a2af7b085f6b2f994a9ac748e571896c37778b23bcae/ruamel.yaml-0.15.96-cp27-cp27mu-manylinux1_x86_64.whl (601kB)
100% |████████████████████████████████| 604kB 1.8MB/s
Collecting setuptools (from pybombs)
Downloading https://files.pythonhosted.org/packages/ec/51/f45cea425fd5cb0b0380f5b0f048ebc1da5b417e48d304838c02d6288a1e/setuptools-41.0.1-py2.py3-none-any.whl (575kB)
100% |████████████████████████████████| 583kB 2.3MB/s
Collecting urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 (from requests->pybombs)
Downloading https://files.pythonhosted.org/packages/e6/60/247f23a7121ae632d62811ba7f273d0e58972d75e58a94d329d51550a47d/urllib3-1.25.3-py2.py3-none-any.whl (150kB)
100% |████████████████████████████████| 153kB 6.5MB/s
Collecting certifi>=2017.4.17 (from requests->pybombs)
Downloading https://files.pythonhosted.org/packages/60/75/f692a584e85b7eaba0e03827b3d51f45f571c2e793dd731e598828d380aa/certifi-2019.3.9-py2.py3-none-any.whl (158kB)
100% |████████████████████████████████| 163kB 4.7MB/s
Collecting chardet<3.1.0,>=3.0.2 (from requests->pybombs)
Downloading https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl (133kB)
100% |████████████████████████████████| 143kB 5.0MB/s
Collecting idna<2.9,>=2.5 (from requests->pybombs)
Downloading https://files.pythonhosted.org/packages/14/2c/cd551d81dbe15200be1cf41cd03869a46fe7226e7450af7a6545bfc474c9/idna-2.8-py2.py3-none-any.whl (58kB)
100% |████████████████████████████████| 61kB 5.0MB/s
Collecting ruamel.ordereddict; platform_python_implementation == “CPython" and python_version <= “2.7" (from ruamel.yaml->pybombs)
Downloading https://files.pythonhosted.org/packages/f3/2c/fa6d75dc459b371ed3b88fdbf8042785ce1655073c884fd97bdbb9f48e01/ruamel.ordereddict-0.4.13-cp27-cp27mu-manylinux1_x86_64.whl (99kB)
100% |████████████████████████████████| 102kB 4.0MB/s
Building wheels for collected packages: future
Running setup.py bdist_wheel for future … done
Stored in directory: /home/user_name/.cache/pip/wheels/0c/61/d2/d6b7317325828fbb39ee6ad559dbe4664d0896da4721bf379e
Successfully built future
Installing collected packages: six, future, urllib3, certifi, chardet, idna, requests, ruamel.ordereddict, ruamel.yaml, setuptools, pybombs
Successfully installed certifi-2019.3.9 chardet-3.0.4 future-0.17.1 idna-2.8 pybombs-2.3.3 requests-2.22.0 ruamel.ordereddict-0.4.13 ruamel.yaml-0.15.96 setuptools-41.0.1 six-1.12.0 urllib3-1.25.3

$ pybombs recipes add gr-recipes git+https://github.com/gnuradio/gr-recipes.git
PyBOMBS.ConfigManager – INFO – Prefix Python version is: 2.7.15
PyBOMBS – INFO – PyBOMBS Version 2.3.3
PyBOMBS.Packager.apt – INFO – Install python-apt to speed up apt processing.
Cloning into 'gr-recipes’…
remote: Enumerating objects: 58, done.
remote: Counting objects: 100% (58/58), done.
remote: Compressing objects: 100% (48/48), done.
remote: Total 1706 (delta 38), reused 28 (delta 10), pack-reused 1648
Receiving objects: 100% (1706/1706), 341.04 KiB | 718.00 KiB/s, done.
Resolving deltas: 100% (1402/1402), done.

$ mkdir prefix

$ pybombs recipes add gr-etcetera git+https://github.com/gnuradio/gr-etcetera.git
PyBOMBS.ConfigManager – INFO – Prefix Python version is: 2.7.15
PyBOMBS – INFO – PyBOMBS Version 2.3.3
PyBOMBS.Packager.apt – INFO – Install python-apt to speed up apt processing.
Cloning into 'gr-etcetera’…
remote: Enumerating objects: 9, done.
remote: Counting objects: 100% (9/9), done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 402 (delta 3), reused 5 (delta 2), pack-reused 393
Receiving objects: 100% (402/402), 81.37 KiB | 484.00 KiB/s, done.
Resolving deltas: 100% (266/266), done.

$ pybombs config –package gnuradio gitrev v3.7.13.4
PyBOMBS.ConfigManager – INFO – Prefix Python version is: 2.7.15
PyBOMBS – INFO – PyBOMBS Version 2.3.3
PyBOMBS.config – INFO – Using config file: /home/user_name/.pybombs/config.yml
Setting keys for packages gnuradio:
gitrev: v3.7.13.4

$ pybombs prefix init /home/user_name/prefix/default -a myprefix -R gnuradio-default
PyBOMBS.ConfigManager – INFO – Prefix Python version is: 2.7.15
PyBOMBS – INFO – PyBOMBS Version 2.3.3
PyBOMBS.prefix – INFO – Creating directory `/home/user_name/prefix/default’
PyBOMBS.ConfigManager – INFO – Prefix Python version is: 2.7.15
PyBOMBS.ConfigManager – INFO – Creating new config file /home/user_name/prefix/default/.pybombs/config.yml
PyBOMBS.ConfigManager – INFO – Prefix Python version is: 2.7.15
PyBOMBS.prefix – INFO – Installing default packages for prefix…
PyBOMBS.prefix – INFO –

  • gnuradio
    PyBOMBS.Packager.apt – INFO – Install python-apt to speed up apt processing.
    PyBOMBS.install_manager – INFO – Phase 1: Creating install tree and installing binary packages:
    DEPRECATION: The default format will switch to columns in the future. You can use –format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
    Install tree:
    |
    – gnuradio
    |
    – uhd
    PyBOMBS.install_manager – INFO – Phase 2: Recursively installing source packages to prefix:
    PyBOMBS.install_manager – INFO – Installing package: uhd
    PyBOMBS.Packager.apt – INFO – Install python-apt to speed up apt processing.
    Cloning into 'uhd’…
    remote: Enumerating objects: 831, done.
    remote: Counting objects: 100% (831/831), done.
    remote: Compressing objects: 100% (451/451), done.
    remote: Total 84109 (delta 506), reused 574 (delta 377), pack-reused 83278
    Receiving objects: 100% (84109/84109), 114.41 MiB | 6.09 MiB/s, done.
    Resolving deltas: 100% (65620/65620), done.
    PyBOMBS.Packager.apt – INFO – Install python-apt to speed up apt processing.
    Configuring: (100%) [=========================================================]
    Building: (100%) [=========================================================]
    Installing: (100%) [=========================================================]
    PyBOMBS.install_manager – INFO – Installation successful.
    PyBOMBS.install_manager – INFO – Installing package: gnuradio
    Cloning into 'gnuradio’…
    remote: Enumerating objects: 18, done.
    remote: Counting objects: 100% (18/18), done.
    remote: Compressing objects: 100% (13/13), done.
    remote: Total 142658 (delta 5), reused 12 (delta 5), pack-reused 142640
    Receiving objects: 100% (142658/142658), 50.14 MiB | 5.45 MiB/s, done.
    Resolving deltas: 100% (110390/110390), done.
    Submodule 'volk’ (https://github.com/gnuradio/volk.git) registered for path 'volk’
    Cloning into '/home/user_name/prefix/default/src/gnuradio/volk’…
    remote: Enumerating objects: 24, done.
    remote: Counting objects: 100% (24/24), done.
    remote: Compressing objects: 100% (19/19), done.
    remote: Total 7862 (delta 6), reused 17 (delta 5), pack-reused 7838
    Receiving objects: 100% (7862/7862), 2.14 MiB | 2.16 MiB/s, done.
    Resolving deltas: 100% (5463/5463), done.
    Submodule path 'volk’: checked out '17277ed3130e9b2592da06c681657e63b5590c56’
    Note: checking out 'v3.7.13.4’.

You are in 'detached HEAD’ state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

git checkout -b

HEAD is now at 14d2bfac7 Release 3.7.13.4
Configuring: (100%) [=========================================================]
Building: (100%) [=========================================================]
Installing: (100%) [=========================================================]
PyBOMBS.install_manager – INFO – Installation successful.

以上でインストール完了

$ source ~/prefix/default/setup_env.sh
でパスを通し、

$ gnuradio-companion
でGRCエディタの起動を確認しておく。Gtk-Message: Failed to load module “canberra-gtk-module"
が出た場合は、下記でモジュールをインストールしておく。
$ sudo apt install canberra-gtk*

Ettus Research社のUSRPをお使いの場合は、下記を実行してイメージファイルをダウンロードしておく。
$ uhd_images_downloader
[INFO] Images destination: /home/user_name/prefix/default/share/uhd/images
[INFO] No inventory file found at /home/user_name/prefix/default/share/uhd/images/inventory.json. Creating an empty one.
19281 kB / 19281 kB (100%) x3xx_x310_fpga_default-g4bc2c6f.zip
18668 kB / 18668 kB (100%) x3xx_x300_fpga_default-g4bc2c6f.zip
01527 kB / 01527 kB (100%) e3xx_e310_sg1_fpga_default-gf52a643.zip
01524 kB / 01524 kB (100%) e3xx_e310_sg3_fpga_default-gf52a643.zip
08958 kB / 08958 kB (100%) e3xx_e320_fpga_default-g4bc2c6f.zip
22933 kB / 22933 kB (100%) n3xx_n310_fpga_default-g4bc2c6f.zip
16028 kB / 16028 kB (100%) n3xx_n300_fpga_default-g4bc2c6f.zip
25013 kB / 25013 kB (100%) n3xx_n320_fpga_default-g4bc2c6f.zip
00491 kB / 00491 kB (100%) b2xx_b200_fpga_default-ge57dfe0.zip
00464 kB / 00464 kB (100%) b2xx_b200mini_fpga_default-ge57dfe0.zip
00885 kB / 00885 kB (100%) b2xx_b210_fpga_default-ge57dfe0.zip
00523 kB / 00523 kB (100%) b2xx_b205mini_fpga_default-ge57dfe0.zip
00162 kB / 00162 kB (100%) b2xx_common_fw_default-g2bdad498.zip
00007 kB / 00007 kB (100%) usrp2_usrp2_fw_default-g6bea23d.zip
00450 kB / 00450 kB (100%) usrp2_usrp2_fpga_default-g6bea23d.zip
02415 kB / 02415 kB (100%) usrp2_n200_fpga_default-g6bea23d.zip
00009 kB / 00009 kB (100%) usrp2_n200_fw_default-g6bea23d.zip
02757 kB / 02757 kB (100%) usrp2_n210_fpga_default-g6bea23d.zip
00009 kB / 00009 kB (100%) usrp2_n210_fw_default-g6bea23d.zip
02123 kB / 02123 kB (100%) n230_n230_fpga_default-ge57dfe0.zip
00319 kB / 00319 kB (100%) usrp1_usrp1_fpga_default-g6bea23d.zip
00522 kB / 00522 kB (100%) usrp1_b100_fpga_default-g6bea23d.zip
00006 kB / 00006 kB (100%) usrp1_b100_fw_default-g6bea23d.zip
00017 kB / 00017 kB (100%) octoclock_octoclock_fw_default-g14000041.zip
04839 kB / 04839 kB (100%) usb_common_windrv_default-g14000041.zip
[INFO] Images download complete.

GNU Radio

Posted by 山田洋