🖥️

gps-sdr-simのlimeplayerをmakeでコンパイルする

に公開

環境

  • OS: Ubuntu 24.04 (WSL2上)
  • ターミナル: Windows Terminal
  • シェル: Bash 5.2

やりたいこと

gs-sdr-simのplayerにあるlimeplayer.cをmakeでをコンパイルする。

やったこと

READMEにLimeSuiteのPackageはMyriadRFが公開しているPPAリポジトリからインストールするよう記載があったのでその通りにやってみた。

MyriadRFのサイトに記載の手順でコマンドを実行していく。
まず、PPAリポジトリの登録。

sudo add-apt-repository -y ppa:myriadrf/drivers

実行結果:404エラー

Repository: 'Types: deb
URIs: https://ppa.launchpadcontent.net/myriadrf/drivers/ubuntu/
Suites: noble
Components: main
'
Description:
This PPA contains various SDR hardware drivers and is maintained by the Myriad-RF Packaging project.

For more details see: https://myriadrf.org/projects/packaging/
More info: https://launchpad.net/~myriadrf/+archive/ubuntu/drivers
Adding repository.
Hit:1 http://archive.ubuntu.com/ubuntu noble InRelease
Hit:2 http://security.ubuntu.com/ubuntu noble-security InRelease
Get:3 http://archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB]
Ign:4 https://ppa.launchpadcontent.net/myriadrf/drivers/ubuntu noble InRelease
Hit:5 http://archive.ubuntu.com/ubuntu noble-backports InRelease
Err:6 https://ppa.launchpadcontent.net/myriadrf/drivers/ubuntu noble Release
  404  Not Found [IP: 185.125.190.80 443]
Reading package lists... Done
E: The repository 'https://ppa.launchpadcontent.net/myriadrf/drivers/ubuntu noble Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

公式ドキュメントをみるとUbuntu22.04までしか対応していないよう。

調べると、Ubuntu24.04であればLimeSuiteの公式リポジトリが提供されているらしい。
ということで、PPA経由ではなくLimeSuiteの公式リポジトリからパッケージをインストールする。

sudo apt-get install -y build-essential git pkg-config
sudo apt-get install -y limesuite liblimesuite-dev limesuite-udev

無事インストールできたので、limeplayer.cをコンパイル。

$ make limeplayer
gcc -O2 -Wall -o limeplayer limeplayer.c -lLimeSuite

バイナリファイル「limeplayer」が作成されていることを確認!

おまけ(不要なPPAの削除)

登録に失敗したMyriadRFのPPAの設定を削除する。
削除しないとapt-get updateの度に404エラーが出てしまうので、以下コマンドを実行。

#関連ファイルの存在チェック
ls -1 /etc/apt/sources.list.d/ | grep -i myriadrf
#関連ファイルがあれば削除する
#例)
sudo rm -f /etc/apt/sources.list.d/myriadrf-ubuntu-drivers-*.list
#削除後にリポジトリの一覧を更新
sudo apt-get update

その他調べたこと

LimeSuiteとは

  • Lime Microsystems社公式のソフトウェア群
  • LimeSDRボード向けのサポート機能を提供している
  • 現在のバージョンは以下2種類
    • Lime Suite NG
    • Classic Lime Suite
  • 新規開発や新しいハードウェアを使う場合はLime Suite NGが推奨されている
  • Classic Lime Suiteは既存環境のために残されているが、新しい機能追加は予定されていない

Ubuntu PPA

  • PPA(Personal Package Archive) は、Launchpad(Ubuntuを運営するCanonical社のサービス)を通じて公開されるソフトウェアパッケージの配布仕組み
  • Ubuntuの標準リポジトリに含まれていないソフトや、より新しいバージョンを簡単にインストールできる
  • PPAはあくまで「開発者やコミュニティが提供するリポジトリ」であり、Canonicalの公式サポート対象ではない点に注意
  • インストールは以下のように add-apt-repository コマンドでPPAを登録して行う
sudo add-apt-repository ppa:example/ppa
sudo apt-get update
sudo apt-get install example-package
GNSSたまごくらぶ

Discussion