こちら のwikiを参考にしてVMware Workstation 12 Player上のUbuntu 16.04にTinyOSをインストールする準備をしていたところ、エラーが起きてパッケージをインストールできなかったんですが解決したのでメモしておきます。
エラー
TinyOSを自動インストールするためのパッケージをこちらのWebページを参考に導入している際にエラーが発生しました。
hiyoshi@ubuntu:~$ sudo apt-get install avr-tinyos パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 インストールすることができないパッケージがありました。おそらく、あり得 ない状況を要求したか、(不安定版ディストリビューションを使用しているの であれば) 必要なパッケージがまだ作成されていなかったり Incoming から移 動されていないことが考えられます。 以下の情報がこの問題を解決するために役立つかもしれません: 以下のパッケージには満たせない依存関係があります: avr-tinyos : 依存: avr-tinyos-base しかし、インストールされようとしていません 依存: avr-binutils-tinyos しかし、インストールされようとしていません 依存: avr-gcc-tinyos しかし、インストールされようとしていません 依存: avr-libc-tinyos しかし、インストールされようとしていません 依存: avrdude-tinyos しかし、インストールされようとしていません E: 問題を解決することができません。壊れた変更禁止パッケージがあります。
試行錯誤
パッケージインストール時の依存問題にも対応した?aptitudeコマンドを試してみましたが成果なし。
hiyoshi@ubuntu:~$ sudo aptitude install avr-tinyos 以下の新規パッケージがインストールされます: avr-binutils-tinyos{a} avr-gcc-tinyos{a} avr-libc-tinyos{a} avr-optional-tinyos{a} avr-tinyos avr-tinyos-base{ab} avrdude-tinyos{a} 0 個のパッケージを更新、 7 個を新たにインストール、 0 個を削除予定、39 個が更新されていない。 32.9 M バイトのアーカイブを取得する必要があります。 展開後に 0 バイトのディスク領域が新たに消費されます。 以下のパッケージには満たされていない依存関係があります: avr-tinyos-base : 依存: tinyos-base which is a virtual package and is not provided by any available package. 以下のアクションでこれらの依存関係の問題は解決されます: 以下のパッケージを現在のバージョンに一時固定する: 1) avr-binutils-tinyos [インストールされていません] 2) avr-gcc-tinyos [インストールされていません] 3) avr-libc-tinyos [インストールされていません] 4) avr-optional-tinyos [インストールされていません] 5) avr-tinyos [インストールされていません] 6) avr-tinyos-base [インストールされていません] 7) avrdude-tinyos [インストールされていません] 以下の依存関係を未解決のままにする: 8) avrdude-tinyos が avr-tinyos を推奨 9) avrdude-tinyos が avr-optional-tinyos を推奨 この解決方法を受け入れますか? [Y/n/q/?] n *** 利用可能な解決方法がこれ以上ありません。 *** 以下のアクションでこれらの依存関係の問題は解決されます: 以下のパッケージを現在のバージョンに一時固定する: 1) avr-binutils-tinyos [インストールされていません] 2) avr-gcc-tinyos [インストールされていません] 3) avr-libc-tinyos [インストールされていません] 4) avr-optional-tinyos [インストールされていません] 5) avr-tinyos [インストールされていません] 6) avr-tinyos-base [インストールされていません] 7) avrdude-tinyos [インストールされていません] 以下の依存関係を未解決のままにする: 8) avrdude-tinyos が avr-tinyos を推奨 9) avrdude-tinyos が avr-optional-tinyos を推奨 この解決方法を受け入れますか? [Y/n/q/?] y インストール・削除・更新されるパッケージがありません。 0 個のパッケージを更新、 0 個を新たにインストール、 0 個を削除予定、39 個が更新されていない。 0 バイトのアーカイブを取得する必要があります。 展開後に 0 バイトのディスク領域が新たに消費されます。
解決
Google検索をしてみると、海外フォーラムで同じような事例があり、そこで回答されているとおりに試したところ無事インストールできました。
@danielemidi i have same the problem. Ubuntu 13.10.
I solved following this:
http://www.cse.wustl.edu/~lu/cse467s/slides/tinyos-installation.pdf
Basically using squeeze repository instead of wheezy
情報元WebページではWheezyがメインリポジトリで推奨されてるようなんですが、依存関係の問題が発生するのでsqueezeに書き換えてみます。
# Before hiyoshi@ubuntu:~$ cat /etc/apt/sources.list.d/tinyprod-debian.list deb http://tinyprod.net/repos/debian wheezy main deb http://tinyprod.net/repos/debian msp430-46 main # After hiyoshi@ubuntu:~$ sudo vi /etc/apt/sources.list.d/tinyprod-debian.list deb http://tinyprod.net/repos/debian squeeze main deb http://tinyprod.net/repos/debian msp430-46 main
パッケージリストを更新し、インストールを試してみると無事インストールできました。
hiyoshi@ubuntu:~$ sudo apt-get update hiyoshi@ubuntu:~$ sudo apt-get install avr-tinyos パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下の追加パッケージがインストールされます: avr-binutils-tinyos avr-gcc-tinyos avr-libc-tinyos avr-optional-tinyos avr-tinyos-base avrdude-tinyos tinyos-base 以下のパッケージが新たにインストールされます: avr-binutils-tinyos avr-gcc-tinyos avr-libc-tinyos avr-optional-tinyos avr-tinyos avr-tinyos-base avrdude-tinyos tinyos-base アップグレード: 0 個、新規インストール: 8 個、削除: 0 個、保留: 39 個。 32.9 MB のアーカイブを取得する必要があります。 この操作後に追加で 0 B のディスク容量が消費されます。 続行しますか? [Y/n] y
この記事を読んだ人はこんな記事も読んでいます。
【TinyOS】avr-tinyosインストール時の依存関係エラーの対処方法