Linux Letter Logo

こちら の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インストール時の依存関係エラーの対処方法
Tagged on:     

コメントを残す