日誌


2018/04/26

Ubuntu16.04で、PyBOMBSによりGNU Radioをビルドする。

Tweet ThisSend to Facebook | by 山田洋
Ubuntu16.04で、PyBOMBSによりGNU Radioをビルドする。結果として、Installation successful になって、gnuradio-companionも動作した。

まず、pipをインストールしてアップデートする。
$ sudo apt install python-pip
$ sudo -H pip install --upgrade pip

pybombsをインストールする。
$ sudo pip install pybombs
The directory '/home/xxxx/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/home/xxxx/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.

Requirement already satisfied: pybombs in /usr/local/lib/python2.7/dist-packages (2.3.2)
Requirement already satisfied: setuptools in /usr/lib/python2.7/dist-packages (from pybombs) (20.7.0)
Requirement already satisfied: requests in /usr/lib/python2.7/dist-packages (from pybombs) (2.9.1)
Requirement already satisfied: six in /usr/lib/python2.7/dist-packages (from pybombs) (1.10.0)
Requirement already satisfied: future in /usr/local/lib/python2.7/dist-packages (from pybombs) (0.16.0)
Requirement already satisfied: ruamel.yaml in /usr/local/lib/python2.7/dist-packages (from pybombs) (0.15.37)
Requirement already satisfied: ruamel.ordereddict; platform_python_implementation == "CPython" and python_version <= "2.7" in /usr/local/lib/python2.7/dist-packages (from ruamel.yaml->pybombs) (0.4.13)
cheetah 2.4.4 requires Markdown>=2.0.1, which is not installed.

pybombsがインストールできなかったので、下記を試みる。
$ sudo apt-get update
これだと、cheetah 2.4.3までにしかバージョンが上がらなかった(この実行日のパッケージの状態では)。

pipでcheetahをアップグレードする。
$ sudo -H pip install --upgrade cheetah
Requirement already up-to-date: cheetah in /usr/lib/python2.7/dist-packages (2.4.4)
Collecting Markdown>=2.0.1 (from cheetah)
  Downloading https://files.pythonhosted.org/packages/6d/7d/488b90f470b96531a3f5788cf12a93332f543dbab13c423a5e7ce96a0493/Markdown-2.6.11-py2.py3-none-any.whl (78kB)
    100% |████████████████████████████████| 81kB 3.6MB/s
Installing collected packages: Markdown
Successfully installed Markdown-2.6.11

pybombsをインストールする。
$ sudo -H pip install pybombs
Requirement already satisfied: pybombs in /usr/local/lib/python2.7/dist-packages (2.3.2)
Requirement already satisfied: setuptools in /usr/lib/python2.7/dist-packages (from pybombs) (20.7.0)
Requirement already satisfied: requests in /usr/lib/python2.7/dist-packages (from pybombs) (2.9.1)
Requirement already satisfied: six in /usr/lib/python2.7/dist-packages (from pybombs) (1.10.0)
Requirement already satisfied: future in /usr/local/lib/python2.7/dist-packages (from pybombs) (0.16.0)
Requirement already satisfied: ruamel.yaml in /usr/local/lib/python2.7/dist-packages (from pybombs) (0.15.37)
Requirement already satisfied: ruamel.ordereddict; platform_python_implementation == "CPython" and python_version <= "2.7" in /usr/local/lib/python2.7/dist-packages (from ruamel.yaml->pybombs) (0.4.13)

引き続き、「default GNU Radio recipe list」をセットする(?)コマンドを実行する。
$ pybombs recipes add gr-recipes git+https://github.com/gnuradio/gr-recipes.git
PyBOMBS - INFO - PyBOMBS Version 2.3.2
PyBOMBS.Packager.apt - INFO - Install python-apt to speed up apt processing.
Cloning:     (100%) [==========================================================================================]

$ mkdir prefix/

PyBOMBSに、GNU Radioと gr-osmosdrおよびそれらと依存関係があるものを prefix/defaultディレクトリにインストールするよう指示する(ここから時間がかかる)。
$ pybombs prefix init -a default prefix/default/ -R gnuradio-default

ビルドとインストールが完了すると、インストール作業ディレクトリの ./prefix/default 以下にGNU Radioがインストールされる。

GNU Radioを実行するには、

$ cd prefix/default
$ source ./setup_env.sh

によってパス設定がなされ、gnuradio-companionコマンドなどを実行できる。/usr/local以下などにインストールしないことで、ビルドに失敗しても、自分のホームディレクトリ以下のインストールディレクトリを削除するだけで容易に再インストールできる、との考え。便利と言えば便利だが、1台のUbuntuマシンを複数人で利用する環境では、ちょっと不便。異なるバージョンのGNU Radioを1台のマシンで簡単に共存させられるなど、良いこともあるが、やや強引な技、という気もする。./prefix以下のディスク容量は、6.1GBであった(du -h ./prefix の結果)。

なお、ビルド実行ログは、下記(とても長い)。
11:55 | 投票する | 投票数(0) | コメント(0)