目的 ある実行ファイルの動作に、どの共有ライブラリが必要かを把握したい。 ストレート環境であれば /bin/ldd を使えば良い(BINARY HACKS, HACK #7 を参照)のだが、クロス環境だと一々実行するのが面倒臭い。 一括で、必要なライブラリ一覧を得る方法は無いか。 結果 readelfを使って、elf の dynamic section から SONAME と NEEDED を抜き出して、依存関係を(再帰的に)把握するスクリプトを作成した。 lsso https://sssvn.jp/svn/spikelet/utils/lsso 依存関係といえば有向グラフ、有向グラフといえばGraphviz(Graphviz - Graph Visualization Software)なので、Graphviz形式での出力も可能にした。 実行例は、詳細の最後の辺を参照。 以下、詳細。 背