Ubuntu のlibc 辺りの依存関係が壊れたので、修復を試みる。
はじめに
この記事のトリガーは
「vim で ]インサートモード+日本語入力モード] からESCキーで [ノーマルモード] への移行時に日本語入力(IME)をOFFにできないか」
という問題を解決しようとして、立ちはだかった壁を乗り越えた記録である。
作業
libcの依存関係がおかしいらしい
上記問題を解決する一つの手段として、uimを使ってテキスト編集を行えば、うまくいくらしいと知った。
Hogehoge on Rails vimで日本語入力を快適に行うtips
そこで、[sudo apt-get install uim]を実行したら、
以下のエラーが発生し、ソフトのインストール/削除を受け付けてくれなかった。(他のツール等もインストールできない状態だった)
(sudo apt-get check のコマンド実行になっているけど、同じエラー)
andre@andre-VirtualBox:~/work/uim/uim-1.5.7$ sudo apt-get check
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
これらを直すためには 'apt-get -f install' を実行する必要があるかもしれません。
以下のパッケージには満たせない依存関係があります:
libc6 : 依存: libc-bin (= 2.13-20ubuntu5.1) しかし、2.13-20ubuntu6 はインストールされています
libc6-dbg : 依存: libc6 (= 2.13-20ubuntu6) しかし、2.13-20ubuntu5.1 はインストールされています
libc6-dev : 依存: libc6 (= 2.13-20ubuntu6) しかし、2.13-20ubuntu5.1 はインストールされています
libc6-dev-amd64 : 依存: libc6-dev (= 2.13-20ubuntu5.1) しかし、2.13-20ubuntu6 はインストールされています
libc6-pic : 依存: libc6 (= 2.13-20ubuntu6) しかし、2.13-20ubuntu5.1 はインストールされています
libc6-prof : 依存: libc6 (= 2.13-20ubuntu6) しかし、2.13-20ubuntu5.1 はインストールされています
E: 未解決の依存関係があります。-f オプションを試してください。
こんなエラーが出る原因は、libcをソースからビルドしたからだ。
現在の環境は以下のとおり。
ライブラリ | バージョン |
---|---|
libc6 | 2.13-20ubuntu6 |
libc6-dbg | 2.13-20ubuntu5.1 |
libc6-dev | 2.13-20ubuntu5.1 |
libc6-dev-amd64 | 2.13-20ubuntu6 |
libc6-pic | 2.13-20ubuntu5.1 |
libc6-prof | 2.13-20ubuntu5.1 |
ubuntu6 か ubuntu5.1 かのどちらかに統一しなければ。
せっかく作ったubuntu6があるので、そちらをインストール。
ソースからビルドしたものは、インストールで失敗していた。
もう一度、インストールを試みる。
前回インストール時は、[sudo dpkg --install *.deb]だったから、
依存関係が満たされているものはインストールできたし、
満たされていないものはインストールできなかったしだったのだろう。
今回は、パッケージ生成ツールを使って作った ubuntu6バージョンdebファイル を単体でインストールした。
インストール成功した。
原因は、ちゃんと ubuntu6 をインストールせず、pendingしていたからだった。
uim のインストールは別の記事で。