コグノスケ


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

link もっと前
2024年4月15日 >>> 2024年4月15日
link もっと後

2024年4月15日

Zephyr SDKのhosttoolsは移動してはいけない、その1 - 移動させると動かなくなる

目次: Zephyr

Zephyr SDKのhosttoolsを移動したらハマったので、メモしておきます。

Zephyr SDKは自前のhosttools(dtcやopenocd、qemuなど)のバイナリを持っていてシステム側のバイナリのバージョンによる不具合などを避けて必要なツールを使うことができます。直接呼び出すことはなくても、westを使っている人は間接的に使っているはずです。

そんな便利なhosttoolsなんですけど、インストールしたパスに強く依存していてディレクトリを移動させると動かなくなります。何が起きるか順に見ましょう。初めにhosttoolsのみをインストールし、dtcを実行します。

hosttoolsをインストール&実行
$ mkdir test
$ cd ~/test
$ wget https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.16.5-1/zephyr-sdk-0.16.5-1_linux-x86_64_minimal.tar.xz
$ tar xf zephyr-sdk-0.16.5-1_linux-x86_64_minimal.tar.xz
$ cd ~/test/zephyr-sdk-0.16.5-1
$ ./zephyr-sdk-x86_64-hosttools-standalone-0.9.sh -y -d ~/test/zephyr-sdk-0.16.5-1

$ ./sysroots/x86_64-pokysdk-linux/usr/bin/dtc --version

Version: DTC 1.6.0-dirty

正常動作しました。次にディレクトリを移動して、もう一度dtcを実行します。

移動後は実行できない
$ cd ~/test
$ mv zephyr-sdk-0.16.5-1 aaa
$ cd ~/test/aaa

$ ./sysroots/x86_64-pokysdk-linux/usr/bin/dtc --version

bash: ./sysroots/x86_64-pokysdk-linux/usr/bin/dtc: 実行できません: 必要なファイルがありません

バイナリは一切変更していないのに動かなくなってしまいました……。バイナリは同一ですから設定もしくはダイナミックリンク周りが怪しそうです。まずはlddでライブラリ参照パスを見ます。

ダイナミックリンクの依存関係を表示する
$ ldd ./sysroots/x86_64-pokysdk-linux/usr/bin/dtc
        linux-vdso.so.1 (0x00007ffd3e302000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fbd136b2000)
        /home/katsuhiro/test/zephyr-sdk-0.16.5-1/sysroots/x86_64-pokysdk-linux/lib/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 (0x00007fbd138d9000)

ダイナミックリンカー(ld-linux.so)のパスにhosttoolsをインストールしたパスが含まれています。先ほどhosttoolsのディレクトリごと移動してしまったので、リンカーが見当たらないと怒っているようです。

続きはまた今度にします。

編集者:すずき(2024/04/17 01:47)

コメント一覧

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



link もっと前
2024年4月15日 >>> 2024年4月15日
link もっと後

管理用メニュー

link 記事を新規作成

<2024>
<<<04>>>
-123456
78910111213
14151617181920
21222324252627
282930----

最近のコメント5件

  • link 24年5月16日
    すずきさん (05/21 11:41)
    「あー、確かにdpkg-reconfigu...」
  • link 24年5月16日
    hdkさん (05/21 08:55)
    「システム全体のlocale設定はDebi...」
  • link 24年5月17日
    すずきさん (05/20 13:16)
    「そうですねえ、普通はStandardなの...」
  • link 24年5月17日
    hdkさん (05/19 07:45)
    「なるほど、そういうことなんですね。Exc...」
  • link 24年5月17日
    すずきさん (05/19 03:41)
    「Standardだと下記の設定になってい...」

最近の記事3件

  • link 24年5月21日
    すずき (05/23 23:19)
    「[Linux 6.1からLinux 6.6に手抜き更新したらハマった] 目次: 自宅サーバーLinux Kernelのlong...」
  • link 23年6月1日
    すずき (05/23 22:50)
    「[自宅サーバー - まとめリンク] 目次: 自宅サーバーこの日記システム、Wikiの話。カウンターをPerlからPHPに移植日...」
  • link 24年5月16日
    すずき (05/21 01:23)
    「[イマドキ?のlocale設定方法] 目次: 自宅サーバーLocaleの設定方法は未だによくわかってないのですが、最近ROCK...」
link もっとみる

こんてんつ

open/close wiki
open/close Linux JM
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 2023年
open/close 2024年
open/close 過去日記について

その他の情報

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

合計:  counter total
本日:  counter today

link About www.katsuster.net
RDFファイル RSS 1.0

最終更新: 05/23 23:19