コグノスケ


link 未来から過去へ表示(*)
link 過去から未来へ表示

link もっと前
   2021年 1月 15日 ---> 2021年 1月 6日
link もっと後

2021年 1月 14日

Debian Testing と Zephyr SDK その 1 - 自分で SDK をビルド

目次: Zephyr を調べる - まとめリンク

開発用のマシンでは Debian Testing を使っているのですが、久しぶりに dist-upgrade したところ Python 3.8 が消えてしまいました。Python 3.9 に移行したみたいです。

アップデート時は「そうなんだ、3.9 になったんだな。」くらいの認識でスルーしまいたが、Zephyr を使おうとしたら異変に気づきました。なんと Zephyr SDK の GDB が動きません。どうしてこうなった。

GDB を起動するとエラー
$ riscv64-zephyr-elf-gdb
riscv64-zephyr-elf-gdb: error while loading shared libraries: libpython3.8.so.1.0: cannot open shared object file: No such file or directory

Debian は元々 Zephyr SDK のサポート範囲に入っていない(Ubuntu のみ)ですし、Debian Testing なんてサポートされるはずがないので、自力で解決する必要があります。

Zephyr SDK のビルド

Zephyr SDK のビルド手順は簡単ですが、Debian Testing だとうまくいきません。

Zephyr SDK のビルド
$ git clone https://github.com/zephyrproject-rtos/sdk-ng
$ cd sdk-ng

$ ./go.sh riscv64
./go.sh: 行 17: python: コマンドが見つかりません

Python が見つからず怒られます。Debian Testing は /usr/bin/python がなくなったため、go.sh の python を python3 に書き換えてあげると動きます。他にも Python 3.8 を想定している箇所があるので、Python 3.9 に直します。

Zephyr SDK 改変(RISC-V 64 向け)

diff --git a/configs/riscv64.config b/configs/riscv64.config
index 295f2c0..a9fc301 100644
--- a/configs/riscv64.config
+++ b/configs/riscv64.config
@@ -46,5 +46,5 @@ CT_CC_LANG_CXX=y
 CT_CC_GCC_LIBSTDCXX_NANO=y
 CT_DEBUG_GDB=y
 CT_GDB_V_9_2=y
-CT_GDB_CROSS_PYTHON_BINARY="python3.8"
+CT_GDB_CROSS_PYTHON_BINARY="python3.9"
 CT_GDB_CROSS_BUILD_NO_PYTHON=y
diff --git a/go.sh b/go.sh
index e5442fa..7a45fd8 100755
--- a/go.sh
+++ b/go.sh
@@ -14,7 +14,7 @@ fi
 
 COMMIT="d7da3a9c7f0f3a90bb4c71b91aea6cbc2471a541"
 GITDIR=${PWD}
-JOBS=$(python -c 'import multiprocessing as mp; print(mp.cpu_count())')
+JOBS=$(python3 -c 'import multiprocessing as mp; print(mp.cpu_count())')
 
 unameOut="$(uname -s)"
 unameMachine="$(uname -m)"

SDK は build/output 以下に生成されます。RISC-V 64 であれば build/output/riscv64-zephyr-elf です。生成されたバイナリが動くか確かめましょう。

生成された GDB を実行
$ cd build/output/riscv64-zephyr-elf/bin

$ ./riscv64-zephyr-elf-gdb
Segmentation fault

SEGV で死にました。うーん、だめそうですね……。次回以降、直せないかトライします。

編集者: すずき(更新: 2021年 1月 18日 16:11)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link もっと前
   2021年 1月 15日 ---> 2021年 1月 6日
link もっと後

管理用メニュー

link 記事を新規作成

合計:  counter total
本日:  counter today

link About www.katsuster.net
RDF ファイル RSS 1.0
QR コード QR コード

最終更新: 1/24 03:02

カレンダー

<2021>
<<<01>>>
-----12
3456789
10111213141516
17181920212223
24252627282930
31------

最近のコメント 5件

  • link 22年01月16日
    すずき 「なるほど、低圧はお米を炊くときに便利なん...」
    (更新:01/18 14:29)
  • link 22年01月16日
    hdk 「圧力鍋で米を炊く時は、100kPaで炊く...」
    (更新:01/17 23:59)
  • link 21年03月04日
    すずき 「なるほど。setupCommandsでg...」
    (更新:01/14 09:16)
  • link 21年03月04日
    名無し 「setupCommandsに\n{"te...」
    (更新:01/13 17:10)
  • link 20年06月19日
    すずき 「お役に立てて何よりです。これ、わかりにく...」
    (更新:09/27 17:05)

最近の記事 3件

link もっとみる
  • link 18年09月21日
    すずき 「[PSP のバッテリー] PSP を久しぶりに見たところ、バッテリ...」
    (更新:01/24 03:02)
  • link 21年03月06日
    すずき 「[気に入るマウスはどれ?] 手に合うワイヤレスマウスを探し続け、高...」
    (更新:01/21 18:42)
  • link 22年01月17日
    すずき 「[SPI ディスプレイを動かしてみる] 昨年、秋月で買って放置して...」
    (更新:01/19 23:25)

こんてんつ

open/close wiki
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 2019年
open/close 2020年
open/close 2021年
open/close 2022年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報